https://bugs.winehq.org/show_bug.cgi?id=45109
Bug ID: 45109 Summary: Implement debugging 32-bit processes using 64-bit winedbg Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: enhancement Priority: P2 Component: winedbg Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
winedbg (but also kernel32 and maybe dbghelp) currently assumes in a lot of places that the architecture of an inferior process matches the architecture of winedbg, and fails in an opaque way if it doesn't.
It isn't possible to implement multiple architectures on 32-bit, for reasons that aren't clear to me (see the documentation for EnumProcessModules(), https://msdn.microsoft.com/en-us/library/windows/desktop/ms682631(v=vs.85).a...). But the same restriction doesn't apply to 64-bit, so we should try to let winedbg handle this.
Tagged as 'enhancement' since in most cases one can be careful enough to use 'wine' or 'wine64' as appropriate. One place where this does seem especially useful is 32-bit bootstrappers to 64-bit processes or the like, since often the only reliable way to break into a child process is with the AlsoDebugProcChild variable.