<p>Am 27.03.2015 14:32 schrieb "JuuS" <<a href="mailto:JuuS@mykolab.ch">JuuS@mykolab.ch</a>>:<br>
><br>
><br>
><br>
> On 03/27/2015 02:17 PM, Joost van der Sluis wrote:<br>
> > On 03/27/2015 01:45 PM, JuuS wrote:<br>
> >> procedure BreakIf( b : Boolean );<br>
> >> begin<br>
> >>   if b then<br>
> >>   asm<br>
> >>     INT 3    <======debugger would then stop here<br>
> >>              and one could then F8 step to the offending<br>
> >>              routine based on the boolean condition passed<br>
> >>   end;<br>
> >> end;<br>
> >><br>
> >> I believe this is windows specific (?) and I'm now working on Linux<br>
> >> machines.<br>
> >><br>
> >> The question is:<br>
> >><br>
> >> This does not work in Linux and I wonder if there is a similar way to<br>
> >> achieve this in Linux environment?<br>
> ><br>
> > Wow.. that's a nasty trick....<br>
><br>
> Mmmm, nasty maybe...but cool! Just tried it again and it won't compile<br>
> "INT 3" line because "invalid reference syntax".</p>
<p>You need to write either "INT $3" or switch the assembler syntax to Intel ({$asmmode intel}) as the default one is AT&T on Linux.</p>
<p>Please note that INT 3 is specific to x86 (and will likely also work on x86_64), but for other architectures you'll need to look up their specific breakpoint sequences.</p>
<p>Please state beforehand next time whether you can't compile or can't run. We have no crystal balls after all...</p>
<p>Regards,<br>
Sven</p>