On Wed, 4 Jun 2003, Ralf Baechle wrote: > > But the need is to raise an exception after instr1 (at addr1) is executed. > > One solution is using a break at instr2 (at addr2). > > But suppose instr1 is a jmp then there is no point > > in keeping a break at addr2. > > (inorder to raise an exception after instr1 is executed). > > You understood correctly. Now jumps and even more so the conditional > branches are sort of the ugly part of the whole thing. The easiest > method is probably inserting a branch at the jump's destination address > or in case of a branch at the branch target and the instruction following > it's delay slot. So that's a lot of inserting and removing of > breakpoints ... In a more finegrained but also more complicated example, you probably want to insert a breakpoint in the delay slot first and at the second step evaluate the branch's condition and put a breakpoint at the next instruction to be executed. I'm not sure if the current version of gdb does the first step, but it inserts a single breakpoint in the second one only. For branch likely instructions adjust the two steps as necessary. -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +