Вопрос

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

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

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

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

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

Это было полезно?

Решение

Это работает на моем компьютере (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

Другие советы

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

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

  • Остановите службу отладки по умолчанию (которая будет x64, поскольку установщик будет продуман и настроен для запуска).
  • Перейдите в папку меню "Пуск удаленного отладчика " и запустите службу отладки x86 .Игнорируйте предупреждение о
    32-битный / 64-битный.
  • Откройте окно Сервис-> Параметры в окне приложения удаленный отладчик и выполните
    обратите внимание на значение в поле "Сервер
    Текстовое поле "Имя".
  • Теперь вы можете подключить к нему свою Visual Studio , скопировав "Имя сервера"
    значение в текстовом поле "Уточняющий" / со списком в диалоговом окне "Прикрепить к процессу"
    из Visual Studio.

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

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

Попробуйте установить службу удаленного отладчика 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.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top