winedbg: Restart 64-bit version from the system32 directory.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2021-04-16 11:11:39 +02:00
parent d30b39edbf
commit 9dcdb90f42

View file

@ -640,6 +640,7 @@ static void restart_if_wow64(void)
if (IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64) if (IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64)
{ {
static const WCHAR winedbgW[] = {'\\','w','i','n','e','d','b','g','.','e','x','e',0};
STARTUPINFOW si; STARTUPINFOW si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
WCHAR filename[MAX_PATH]; WCHAR filename[MAX_PATH];
@ -648,7 +649,8 @@ static void restart_if_wow64(void)
memset( &si, 0, sizeof(si) ); memset( &si, 0, sizeof(si) );
si.cb = sizeof(si); si.cb = sizeof(si);
GetModuleFileNameW( 0, filename, MAX_PATH ); GetSystemDirectoryW( filename, MAX_PATH );
lstrcatW( filename, winedbgW );
Wow64DisableWow64FsRedirection( &redir ); Wow64DisableWow64FsRedirection( &redir );
if (CreateProcessW( filename, GetCommandLineW(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi )) if (CreateProcessW( filename, GetCommandLineW(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))