On 20/04/2011 09:20, Kjow wrote:

from the log you suggested me:
"
*stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation
fault",frame={addr="0x1000b481",func="CMGxSrv!?removeCOMHook@@YAHXZ",args=[],from="C:\\Windows\\SysWOW64\\HsSrv.dll"},thread-id="1",stopped-threads="all"
"

HsSrv.dll is part of Asus Xonar DX/D2X drivers and looking for it I
found a solution:
...
It works, but unfortunately this disables OpenAL surround... needed to
me (in my project). :(

Is it possible to avoid pass a specific dll to gdb?

I have no idea. I thought about the same, when I encountered the issue with bitdefender.... I also know that it does not happen in every debugger, bitdefender works in the delphi debugger....

Anyway, I couldn't solve it yet, and for now I got rid of bitdefender, so I am not going to do any work on it soon.

Another idea...
GDB is ot very good at signal handling (SigSegV). Well it catches them reliable, but gdb can not continue afterwards. If those DLL intentionally throw a sigsegv, after installing their own handler, then that may throw off gdb, but not other debuggers. This may be a means off those DLL to protect them self against reverse engineering.

http://www.delorie.com/gnu/docs/gdb/gdb_39.html
You could play with the settings, but you would have to modify the IDE, (debugger/gdbmidebugger.pp) You can insert code before the line 2950 " ExecuteCommand('set width 50000', []);"

Or maybe easier, run the app in gdb, by hand.

I am not going to reinstall bitdefender to test that.... Maybe one day on my laptop, but not to soon.

Martin

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to