Как выполнить удаленную отладку 32-разрядного собственного приложения, работающего на Win7 / 64 с VS 2008, также на Win7 / 64? - PullRequest
2 голосов
/ 28 декабря 2010

Моя рабочая станция - Windows 7 64-bit. Я пытаюсь выполнить удаленную отладку 32-разрядного приложения x86, работающего на 64-разрядной виртуальной машине Windows 7. Я установил rdbgsetup_x64.exe на виртуальной машине, которая устанавливает 32- и 64-разрядные версии msvsmon.exe в C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger.

Если я запускаю 64-разрядную версию msvsmon.exe на виртуальной машине, я могу подключиться к 32-разрядному приложению со своей рабочей станции, но символы не загружаются и не возникают точки останова.

Если я запускаю 64-битную версию msvsmon.exe на виртуальной машине и пытаюсь запустить 32-битное приложение удаленно (через Debug-> Start New Instance), произойдет сбой, сказав: «Невозможно запустить программу. 64-разрядная версия монитора удаленной отладки Visual Studio (MSVSMON.EXE) не может отлаживать 32-разрядные процессы или 32-разрядные дампы. Вместо этого используйте 32-разрядную версию. "

Но если я запускаю 32-битную версию msvsmon.exe на виртуальной машине, я получаю следующую ошибку при попытке подключиться к любому процессу, запущенному на виртуальной машине с моей рабочей станции: «Невозможно подключиться к процессу. произошла ошибка, которая обычно указывает на поврежденную установку (код 0x80004002). Если проблема не устранена, восстановите установку Visual Studio с помощью «Установка и удаление программ» на панели управления. " Я получаю ту же ошибку, если пытаюсь запустить 32-битное приложение удаленно с моей рабочей станции (используя Debug-> Start New Instance).

У меня вопрос, как я могу удаленно отлаживать 32-разрядное приложение, работающее в Win7 / 64, с рабочей станции под управлением Win7 / 64?

Спасибо!

1 Ответ

0 голосов
/ 29 февраля 2012

32-битный msvsmon должен работать. Если это не так, возможно, что некоторые библиотеки не совпадают с версией на компьютере разработчика и на удаленном тестовом компьютере. Попробуйте обновить оба пакета до последней версии. Подобная проблема описана здесь

Кроме того, если ваша Visual Studio не поддерживает этот сценарий, вы всегда можете использовать WinDbg (предполагается, что заголовок вопроса явно не говорит «с Visual Studio»). Он поддерживает все виды сценариев удаленной отладки. Я часто отлаживаю подобные сценарии с WinDBG. Есть много учебников по WinDbg онлайн, но книга Advanced Windows Debugging, безусловно, лучшая.

...