c - on gdb, LoadLibrary mets sti instruciton and singals SIGILL -
in program load dll during runtime loadlibrary. every thing works ok when running in release mode.
but when try run program in debug mode, load library stops sigill, debugger shows stops on sti instruction.
i tried link dll during program load direct call dll. sigill during program load.
i using mingw48 shipped wit qt5. not interested in debugging dll, debug other, self written part of code.
i found far sti/cli instructions in privileged code. understand code running in gdb not privileged.
i have tried ignore signal ::signal(sigill, sig_ign);
gdb command handle sigill pass nostop noprint helps here know if program sigills elsewhere
what realy need load library in non debug mode while rest of program being debugged.
it seem library handles sigill, gdb catching before library has chance resolve it. see no better option handle sigill pass nostop noprint. hint use create local .gdbinit file debug session not stop. qt is:
config( debug, debug|release ) { qt_outdir = $$out_pwd/debug gdbinitfile.target = $$qt_outdir/.gdbinit gdbinitfile.commands = echo handle sigill pass nostop noprint > $$gdbinitfile.target }
Comments
Post a Comment