Should that be "int3" or "int 3"? (space?)
They generate different binary code (they may do the same thing, but still):
Experimental code ("int3" only) at
https://github.com/User4martin/lazarus/tree/f-fpdebug-int3
One note:
When cross debugging a 32bit app in an 64bit debugger, the app will reach an "int3" in the kernel at sometime during startup (before reaching user code).
So the debugger will stop there too.I could not test what gdb does (on Windows). Not tested on Linux (if anyone wants too...., but then the linux kernel may not inject an int3)
Because with gdb (at least up to 8.3, I haven't got any newer yet) you can not cross debug bitness.
With GDB the IDE if correctly configured (even a 64bit ide) launches a 32bit gdb to debug a 32 bit target.
A 64bit IDE has fpdebug build in, so it cannot launch any other bitness.
If one forces the IDE to use a 64bit gdb (8.x) and attempts to debug a 32bit app, gdb will terminate the app prematurely. Either at the first breakpoint, or when the kernel reaches the int3. (I only tested the latter, as I can not get to the former).