Visual Studio Remote Отладка службы - PullRequest
8 голосов
/ 19 июля 2011

Я пытаюсь удаленно отладить сервис с помощью visual studio 2005.

Когда я запускаю msvsmon.exe в качестве приложения, я получаю пользовательский интерфейс и могу изменить его на noauth и anyuser, затем, когда я пытаюсь подключиться к процессу из Visual Studio удаленно, я получаю сообщение об ошибке, говорящее, что он может ' t присоединиться к процессу, запущенному в сеансе, в котором не запускается msvsmon.exe. Сеанс службы - 0.

Таким образом, я могу успешно запустить msvsmon.exe в качестве службы, но не могу установить его в режимы / noauth и / anyuser.

binPath для службы: «c: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe» / service msvsmon90

и / noauth, и / anyuser являются переключателями командной строки для msvsmon.

Заполнение «начальных параметров» в окне свойств сервиса ни на что не влияет.

изменение binPath службы на:

"c: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe" / service msvsmon90 / noauth / anyuser

также не работает (так как служба не запускается должным образом).

Как заставить монитор удаленной отладки работать как служба в режиме noauth и anyuser?

Ответы [ 3 ]

3 голосов
/ 17 апреля 2013

Вам понадобится дополнительный переключатель, который подавляет предупреждение, так как программа на самом деле не запускается, но застряла в предупреждающем сообщении в этом случае (вы можете проверить btw при добавлении аргумента / port: xxx и увидеть, что без подавления нет прослушиватель на указанном порту).

Итак, рабочий пример:

    psexec –sd –i 0 "c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe" /noauth /anyuser /port:4000 /nosecuritywarn
3 голосов
/ 21 января 2012

Не уверен, что это будет работать для вас, но вы пытались использовать psexec (из sysinternals) для интерактивного запуска msvsmon в сеансе 0?

Командная строка будет выглядеть примерно такэто (из командной строки с повышенными привилегиями):

psexec –sd –i 0 "c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe" /noauth /anyuser

Я делаю нечто подобное для отладки некоторого кода при выходе из Windows.

0 голосов
/ 02 апреля 2015

Другим полезным параметром является / nowowwarn подавление предупреждений для монитора Win32 на 64-битной машине.Для получения полного списка всех доступных ключей выполните команду \ msvsmon /?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...