Cannot Step over a CALL

0 Likes

Problem:

The single step command no longer stops after stepping over a call. I must now manually add breakpoints after calls. There is no particular application. I can just pop into ice and single step to ANY call or loop. The first time I attempt a step over that function, its as if I have done a ctrl-d. This occurs in all environements (32-bit, 16-bit, level 0). Its as if it cannot place the int 3 following the instruction. If I manually insert the breakpoint, he stops just fine.

Resolution:

SoftIce needs to be the 1st handler for INT 1, & INT 3 interrupts in order to be able to step over & into calls. There are rare occasions where other drivers in the system interfere with SoftIce's handling of these interrupts. The Creative Sound Blaster AudioPCI 64D is known to exhibit this behavior. To see if this is the case, you'll need to inspect the IDT manually & see who is actually controling INT n.

for vector i, you'd do

dw <idtBase> (8*i)

the offset to the owner of the vector will be at WORD #4 Word #1.

so if the dump looks like

28:1234567 BEEF 0028 EE00 DEAD ....

u DEADBEEF

to find out who the owner of vector i is.

If it is not NTICE, or Winice, then you'll have to remove the driver that owns this interrupt vector from the system in order for SoftIce to completely work. In some cases it is only nesessary to start the culprit driver after the system & softIce have been loaded.

Old KB# 11064
Comment List
Anonymous
Related Discussions
Recommended