[WINESYNC] dbghelp: Don't bother trying to initialize loader backend if we can't get debug base address from PEB.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3047385437c7ef36996d0418ac378677f3e9d67c by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
winesync 2020-09-11 19:00:43 +02:00 committed by Jérôme Gardou
parent 13d60fef36
commit e2e7cce46f
3 changed files with 7 additions and 3 deletions

View File

@ -309,6 +309,11 @@ static BOOL check_live_target(struct process* pcs)
base = base32;
}
else ReadProcessMemory(pcs->handle, &pbi.PebBaseAddress->Reserved[0], &base, sizeof(base), NULL);
#ifndef __REACTOS__
/* Wine store their loader base address in peb.reserved[0] and load its symbol from there.
* ReactOS does not care about it */
if (!base) return FALSE;
#endif
TRACE("got debug info address %#lx from PEB %p\n", base, pbi.PebBaseAddress);
return elf_read_wine_loader_dbg_info(pcs, base) || macho_read_wine_loader_dbg_info(pcs, base);

View File

@ -1845,8 +1845,7 @@ static BOOL macho_search_loader(struct process* pcs, struct macho_info* macho_in
len = sizeof(image_infos.infos64);
else
len = sizeof(image_infos.infos32);
if (pcs->dbg_hdr_addr &&
ReadProcessMemory(pcs->handle, (void*)pcs->dbg_hdr_addr, &image_infos, len, NULL))
if (ReadProcessMemory(pcs->handle, (void*)pcs->dbg_hdr_addr, &image_infos, len, NULL))
{
if (pcs->is_64bit)
len = sizeof(image_info.info64);

View File

@ -4,4 +4,4 @@ files:
include/dbghelp.h: sdk/include/psdk/dbghelp.h
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
tags:
wine: f2b8af7e7e159a5259aaab42169c4f8220b121eb
wine: 3047385437c7ef36996d0418ac378677f3e9d67c