Signed-off-by: Bernhard Übelacker <bernhardu(a)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.
---
programs/winedbg/gdbproxy.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 478e0d16fe0..d768a8a585c 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -437,6 +437,17 @@ 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);
+ fetch_module_name( de->u.CreateProcessInfo.lpImageName, de->u.CreateProcessInfo.lpBaseOfImage,
+ u.buffer, ARRAY_SIZE(u.buffer) );
+ fprintf(stderr, "%04x:%04x: loads EXE %s @%p (%u<%u>)\n",
+ de->dwProcessId, de->dwThreadId,
+ dbg_W2A(u.buffer, -1),
+ de->u.CreateProcessInfo.lpBaseOfImage,
+ de->u.CreateProcessInfo.dwDebugInfoFileOffset,
+ de->u.CreateProcessInfo.nDebugInfoSize);
+ 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