Debugging mingw applications using wine

Eric Pouech pouech-eric at wanadoo.fr
Mon Jan 17 15:25:02 CST 2005


  > In that case, what is "winedbg --gdb" for? Why have this option if no
> GDB supports it?
because it targets different stuff:

winedbg (standalone) is able to load and use debug info from:
- ELF modules (exec and shared libs) (with stabs info, dwarf2 isn't supported). 
As wine DLLs are implemented on top of ELF shared libs, this also includes wine 
builtin DLLs (Wine forces stabs as its debug info, even on newest version of gcc 
where dwarf2 is the default)
- PE modules (native Win32 compilation), compiled with either MSVC or Mingw. 
Note that Mingw stores its debug information as stabs (same as ELF), but the way 
to get to the stabs information from an ELF or a PE module is different (as this 
information is referenced from the ELF (resp. PE) headers)

gdb on Linux (it's also what you get with winedbg --gdb) is able (out of the 
box) to handle the ELF modules as explained above (it also handles dwarf2, with 
can be handy in some cases), but doesn't know on how to get stabs info from PE 
modules even if it knows how to handle stabs debug format.

However, Mingw port of gdb on Win32 includes this support. Maybe Mingw's gdb 
port might be an alternative for you (but 1/ I never tested it, so it may even 
not work, 2/ won't give you access to debug information for the ELF modules).

A+

-- 
Eric Pouech




More information about the wine-devel mailing list