[Lazarus] Debugger stops in c dll even when no breakpoint set

Luca Olivetti luca at wetron.es
Fri Oct 29 10:15:56 CEST 2021

El 28/10/21 a les 14:46, Martin Frb via lazarus ha escrit:
> On 28/10/2021 14:28, Christo Crause via lazarus wrote:
>> On Thu, Oct 28, 2021 at 2:01 PM Luca Olivetti via lazarus 
>> <lazarus at lists.lazarus-ide.org> wrote:
>>     77045AC4 cc                       int3
>> The Int3 instruction means break, so this is the expected behaviour.  
>> If there is no debugger inserted break point for this location, it 
>> must be compiled into the dll code.  This means not stopping here will 
>> be problematic, unless you use some kind of script to step over this 
>> break instruction automatically.  I do not think it is possible from 
>> inside Lazarus, but haven't actually tried to work around something 
>> similar before.
> FpDebug refers unknown "int3" back to the application, and lets the 
> application handle them itself.
> At least FpDebug does this by default. There is an option in the global 
> settings to stop.
> But if the dll expects the int3, and therefore wants to handle it 
> itself.....

Any hint on why it hits that int3?

Now I recompiled pascallog.c (I changed its location, no wonder lazarus 
complained it couldn't find it), and lazarus instead of showing the 
assembler window shows the c file stopping at the call to "free".

I checked and the pointer passed to "free" is the same that "malloc" 

malloc -> 

free -> 

Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010)  Fax +34 93 5883007

More information about the lazarus mailing list