Robert Shearman a écrit :
Hi,
This patch allows winedbg to parse symbols in libraries directly linked to the wine binaries, like libc and libpthread. This will usually mean just using the symbol table, but this is better than nothing.
Hi Robert
I don't understand why you need to walk the shared object (from lm.l_ld)? Normally, all loaded shared object will appear in the main module loaded linked list, so we should only need to walk that list. The rest of the patch is correct (I'm currently working on fixing some of the issues of the debugger: get around WINELOADER issue, report unsupported debug format (like Dwarf2...)).
A+
Robert Shearman a écrit :
Hi,
This patch allows winedbg to parse symbols in libraries directly linked to the wine binaries, like libc and libpthread. This will usually mean just using the symbol table, but this is better than nothing.
Hi Robert
I don't understand why you need to walk the shared object (from lm.l_ld)? Normally, all loaded shared object will appear in the main module loaded linked list, so we should only need to walk that list.
I'm not sure which you mean by the main module loaded linked list, but I guess you mean the one we get the rest of the modules from. On my system (Fedora Core 1), the modules directly linked to wine-pthread/wine-kthread don't appear in the main module list (i.e. don't get listed at all when you run, for example, winedbg notepad).
The rest of the patch is correct
The first part of the patch makes winedbg not give up when it doesn't find a .stab section, but the rest of the patch is finding these extra libraries and moving stuff around to not duplicate code.
(I'm currently working on fixing some of the issues of the debugger: get around WINELOADER issue, report unsupported debug format (like Dwarf2...)).
Cool. If this patch will get in your way, just let me know.
Rob
I'm not sure which you mean by the main module loaded linked list, but I guess you mean the one we get the rest of the modules from. On my system (Fedora Core 1), the modules directly linked to wine-pthread/wine-kthread don't appear in the main module list (i.e. don't get listed at all when you run, for example, winedbg notepad).
That's very strange. I checked for example for gdb does and it never accesses the l_ld field, and assumes every loaded shared module is present in the unique ELF module list that we're already scanning. I could understand that we have some too strict tests somewhere, but I don't understand how it could be that we have to call DEBUG_WalkList recursively. So, could look at the entries in the dbg_hdr.r_map list and see whether or not the main libraries appear (will some unsupported flags for example).
(I'm currently working on fixing some of the issues of the debugger: get around WINELOADER issue, report unsupported debug format (like Dwarf2...)).
Cool. If this patch will get in your way, just let me know.
it actually does, but I'll submit a merged form A+