Служба удаленного отладчика x86 на x64 - PullRequest
10 голосов
/ 17 сентября 2008

Можно ли установить x86 Remote Debugger в качестве службы на 64-битной машине? Мне нужно присоединить отладчик к управляемому коду в процессе сеанса 0. Процесс выполняется 32-разрядным, но устанавливаемая служба отладчика является 64-разрядной и не присоединяется к 32-разрядному процессу.

Я попытался создать Службу с помощью команды SC и смог запустить службу и убедился, что она работает в процессах диспетчера задач. Однако, когда я попытался подключиться к нему с помощью Visual Studio, он сказал, что монитор удаленного отладчика не был включен. Когда я остановил службу x86 и запустил службу x64, он смог найти монитор, но все равно получил ошибку.

Вот ошибка, когда я пытаюсь использовать удаленный отладчик: Невозможно присоединиться к процессу. 64-разрядная версия монитора удаленной отладки Visual Studio (MSVSMON.EXE) не может отлаживать 32-разрядные процессы или 32-разрядные дампы. Пожалуйста, используйте вместо этого 32-битную версию.

Вот ошибка, когда я пытаюсь присоединиться локально: Присоединение к процессу в другом сеансе сервера терминалов на этом компьютере не поддерживается. Попробуйте выполнить удаленную отладку на компьютере и запустить монитор удаленной отладки Microsoft Visual Studio в сеансе процесса.

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

Ответы [ 7 ]

16 голосов
/ 15 января 2009

Это работает на моей машине (TM) после установки rdbgsetup_x64.exe и прохождения мастера настройки:

sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90
8 голосов
/ 08 декабря 2009

У нас была такая же проблема при удаленной отладке веб-сайта, который работает как 32-разрядный в 64-разрядном IIS.

Вы также можете сделать это:

  • Остановить службу отладки по умолчанию (который будет х64 в качестве установщика будет умным и настроенным чтобы бежать).
  • Перейдите к запуску удаленного отладчика. папку меню и запустить отладку x86 оказание услуг. Игнорировать предупреждение о
    32bit / 64bit.
  • Откройте окно Инструменты-> Параметры Окно приложения удаленного отладчика и сделать
    примечание значения в 'Server
    Имя 'текстовое поле.
  • Теперь вы можете прикрепить свою визуальную студию скопировав «Имя сервера»
    значение в текстовом / комбо 'Квалификатор' поле в диалоговом окне «Присоединить к процессу»
    Visual Studio.

В соответствующей заметке также есть ошибка низкого уровня с проверкой подлинности Kerberos, если вы подключаетесь из Windows 2008/7 / Vista к машине 2003 года, сообщается MS (а затем закрывается как «внешний») через Connect здесь : https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

3 голосов
/ 15 января 2009

Я могу подтвердить, что то, что вы хотите сделать, действительно будет работать. Я часто подключаю 32-битную xp worstation к x64 win2003 server с удаленным отладчиком VS2008.

3 голосов
/ 17 сентября 2008

Я не пробовал это, но в любом случае вот предложение:

Попробуйте установить службу удаленного отладчика x86 вручную.

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90"

Две ноты:

  • Вам нужно будет использовать короткие имена файлов. в пути к msvsmon.exe не нужно указывать путь (поскольку вся команда должна быть цитируем)
  • после пробела должен быть пробел "binpath =" (и без пробела перед символ «=») Кто бы ни написал парсер командной строки для sc команда должна быть проклята.

Затем вы можете использовать апплет панели управления services.msc, чтобы запустить его с правильными учетными данными.

Возможно, вам придется остановить или даже удалить существующую службу удаленного отладчика x64.

0 голосов
/ 31 января 2018

Иногда возникала эта ошибка, я просто закрывал Visual Studio и снова ее открывал, все в порядке!

Очень странное поведение от

0 голосов
/ 10 апреля 2017

1) Установите версию x64. Это также устанавливает отладчик x86, но не создает ярлык.

2) Вы можете найти исполняемый файл для отладки процесса x86 здесь ... C: \ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe

3) Если хотите, прикрепите его к панели задач.

0 голосов
/ 25 сентября 2014

Работало у меня без установки дополнительного программного обеспечения. Я просто скопировал папку C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger на виртуальной машине и запустил msvsmon.exe из папки x86. И мой гость и хозяин x64.

...