Удаленная отладка в Visual Studio (VS2008), приложение Windows Forms - PullRequest
32 голосов
/ 28 декабря 2008

Я пытаюсь выполнить удаленную отладку приложения Windows Forms (C #), но всегда получаю эту ошибку:

Невозможно подключиться к монитору удаленной отладки Microsoft Visual Studio названный «XXX. Visual Studio Remote Отладчик на целевом компьютере не может подключитесь обратно к этому компьютеру. Ошибка аутентификации. Пожалуйста, смотрите Помощь за помощь.

Я попытался настроить в соответствии с инструкциями MSDN, но я не смог заставить его работать.

Моя настройка:

  • Компьютер разработчика - XP (x86), который подключен к домену.
  • Тестовый компьютер - Vista (x86), то есть НЕ подключен к домену.
  • У меня есть сетевое соединение между машины.
  • Я создал локального пользователя в тесте компьютер (user1) с именем моего домена Пользователь, который я запускаю Visual Studio (mydomain \ user1). установить тот же пароль.
  • На тестовом компьютере я запускаю "msvsmon.exe" как приложение (не как сервисы), я запускаю его, используя команду "runas" с пользователь, которого я создал. (User1):

    runas / u: user1 msvsmon.exe

Может кто-нибудь помочь мне, пожалуйста?

Спасибо.

Ответы [ 6 ]

9 голосов
/ 01 января 2009

Проблема в том, что у меня было 2 пользователя:

mydomain\user1
mytestmachine\user1

это не правильно (согласно Греггу Миски), мне нужно было определить локального пользователя на моем компьютере для разработки, например:

mydevcomputer\debug
mytestmachine\debug

с тем же паролем и запустите VS2008 и монитор отладки с этим пользователем:

7 голосов
/ 05 февраля 2010

Вот как у меня это работало:

Удаленный компьютер: Microsoft Virtual PC, «IHS \ RDM», подключенный к моему корпоративному домену, вошел как jdoe, учетная запись администратора.

Локальный компьютер: подключен к локальному домену, вошел как jdoe, учетная запись администратора.

1) удаленный компьютер: установите rdbgsetup.exe (из Visual Studio 2005 \ Disk 2 \ Remote Debugger \ x86)

2) Удаленный компьютер: RUNAS / пользователь MYDOMAIN \ jdoe / netonly msvsmon

3) Удаленный компьютер: msvsmon-> Инструменты-> Разрешения добавить пользователя "MYDOMAIN \ jdoe" (я должен делать это каждый раз при перезапуске)

4) локальный компьютер: запустите msvsmon.

5) локальный компьютер, msvsmon-> Инструменты-> разрешения, добавьте типы объектов: «компьютеры», «IHS \ RDM»

6) локальный компьютер, vs2005-> debug-> присоединиться к процессу. Транспорт: по умолчанию, квалификатор: jdoe @ RDM

7) Освежись и вуаля; список процессов!

2 голосов
/ 28 декабря 2008

Gregg Miskely имеет сообщение в блоге о том, почему служебная учетная запись должна иметь права администратора (при такой настройке). Одним из моментов является то, что учетная запись пользователя, в вашем случае пользователь на тестовом компьютере, должна иметь привилегии для подключения к другому компьютеру. Похоже, вы попали в случай, когда у учетной записи mydomain \ user1 недостаточно прав для подключения к компьютеру разработчика.

Если это не поможет просмотреть сообщения в блоге Грегга, отправка ему письма может помочь.

1 голос
/ 14 октября 2009

Итак, вы разработчик, и один из ваших пользователей получил исключение, и вы хотите отладить его удаленно, не закрывая окно исключений, но они вошли в систему как другая учетная запись пользователя. Оказывается, вы можете отлаживать их приложения, но это становится сложнее.

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

1) Вам нужно использовать runas с параметром / netonly. Откройте командную строку в папке, где находится msvsmon, и введите

runas /user:[user] /netonly msvsmon

Это заставляет msvsmon использовать учетные данные пользователя только при доступе к сети (например, когда msvsmon подключается обратно к локальной машине VS). msvsmon расстроится, если вы вызовете его с помощью runas без использования /netonly.

2) Необходимо добавить разрешения для локального компьютера Visual Studio для подключения к удаленному компьютеру приложения через меню Сервис-> Разрешения удаленного монитора отладки.

1 голос
/ 28 декабря 2008

Имеет ли TESTCOMPUTER\user1 тот же пароль, что и mydomain\user1?

Вы также можете попробовать запустить msvsmon.exe на целевом компьютере вместо службы удаленной отладки. Вы можете использовать «Запуск от имени ...», чтобы запустить его под разными учетными данными. Как только вы начнете работать с msvsmon,exe, вы сможете установить (или повторно включить) службу удаленного отладчика, запустив ее под этими учетными данными.

РЕДАКТИРОВАТЬ:

Вы должны быть в состоянии использовать страницу свойств Permissions в msvsmon.exe, чтобы установить соответствующие разрешения отладки для пользователя вашего домена на целевой машине:

http://msdn.microsoft.com/en-us/library/ms164722.aspx

0 голосов
/ 14 октября 2009

Поэтому я не могу отвечать без учетной записи, и я могу отвечать только на свои комментарии, но моя зарегистрированная учетная запись отделена от анонимной учетной записи, с которой я отправил сообщение, поэтому это должен быть «новый ответ». К сожалению.

багет - когда я сделал эту работу сегодня утром, я создал локальную учетную запись как на ПК с удаленным монитором отладки, так и на ПК Visual Studio. RDM не было на домене, VS был. Обе локальные учетные записи являются администратором с учетными данными, идентичными моей учетной записи домена. Из другой учетной записи (также администратора) я вызвал runas из привилегированного приглашения с переключателем netonly. Вы можете или не должны предоставлять свой домен с именем пользователя, но, поскольку все пароли должны совпадать, я не думаю, что это имеет большое значение.

Не забудьте настроить свои разрешения в RDM, чтобы позволить учетной записи пользователя, на которой запущен VS, подключаться с привилегиями отладки. Он довольно требователен к тому, кого можно добавить в список, поэтому, если вы сначала не создадите локальную учетную запись, вы очень расстроитесь. И если вы используете RDM под другим именем учетной записи пользователя, вы должны использовать полное имя сервера при попытке подключиться к удаленному компьютеру; если вы запускаете и RDM, и VS из одной и той же учетной записи пользователя, вы можете просто указать имя компьютера.

...