[PATCH v2] winedbg: Try to load debug symbols for executable in gdb mode.

Bernhard Übelacker bernhardu at mailbox.org
Fri Jun 25 10:19:33 CDT 2021


Signed-off-by: Bernhard Übelacker <bernhardu at mailbox.org>
----
This loads the debug information similar to
LOAD_DLL_DEBUG_EVENT for dll's a few lines below, or
CREATE_PROCESS_DEBUG_EVENT for exe's in winedbg/tgt_active.c.

It should be an improvement just for real PE executables.

For .exe.so files the debug information gets loaded via the ELF
enumeration, with this patch 'info share' shows a line for
the fake exe additional to the .exe.so line.

First submission:
https://www.winehq.org/pipermail/wine-devel/2021-May/186536.html

Resend:
https://www.winehq.org/pipermail/wine-devel/2021-June/189401.html

v2:
- Removed fetch_module_name and logging.
---
 programs/winedbg/gdbproxy.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 478e0d16fe0..19fa86d44da 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -437,6 +437,9 @@ static BOOL handle_debug_event(struct gdb_context* gdbctx)
         fprintf(stderr, "%04x:%04x: create thread I @%p\n", de->dwProcessId,
             de->dwThreadId, de->u.CreateProcessInfo.lpStartAddress);
 
+        dbg_load_module(gdbctx->process->handle, de->u.CreateProcessInfo.hFile, u.buffer,
+                        (DWORD_PTR)de->u.CreateProcessInfo.lpBaseOfImage, 0);
+
         dbg_add_thread(gdbctx->process, de->dwThreadId,
                        de->u.CreateProcessInfo.hThread,
                        de->u.CreateProcessInfo.lpThreadLocalBase);
-- 
2.30.2




More information about the wine-devel mailing list