none
Visual Studio 2005 SP1: удалённая отладка работает только из под административной записи RRS feed

  • Вопрос

  • Доброго времени суток.

    Домен, в составе которого работают две виртуальные машины под управлением Windows 7 x64. На одной из них установлены IDE: Visual Studio 2005-2013. Антивирусы и брандмауэры отключены на обоих компьютерах.

    Проблема:

    В случае использования Visual Studio 2005 SP1, 2008 SP1 или 2010 SP1 удалённая отладка работает только в случае когда на обоих компьютерах соответствующие приложения (Visual Studio и Remote Debugger) запущены с правами администратора. Однако это плохо, поскольку удалённую отладку следует выполнять с правами обычного пользователя. Если то же самое выполняю с правами обычного пользователя, то на стороне IDE получаю ошибку:

    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    Error while trying to run project: Unable to start debugging.

    Ошибка в пакете безопасности.

    ---------------------------
    ОК   
    ---------------------------

    Причём перед этим удалённый отладчик показывает, что подключение произошло. В чём может быть дело и как это устранить?

    Дополнительная информация: В MS Visual Studio 2012 Update 4 и 2013 Update 1 всё работает как нужно: с правами обычного пользователя и без "ошибок в пакете безопасности".

    Спасибо.



    15 июля 2014 г. 14:37

Ответы

  • "Буду признателен за ссылку на источник этой информации, дабы окончательно успокоиться на этот счёт." - пока особо ничего не нашёл. Информации на этот счёт почти нет.  Только вот это:

    Debugging another user's computer

    Suppose we want to perform remote debugging to a different user's computer with the different user logged on to the computer. We have to consider two primary issues:
    • Permissions
      By default, only administrators and the user running the remote debugger have access to connect to the remote debugger.

    Сделать однозначные выводы отсюда трудно. Хотя

    Note In Visual Studio .NET 2003 and Visual Studio .NET 2002, the user who is trying to perform remote debugging has to be a member of the Administrators group. However, in Visual Studio 2005, we don't need to add this user to the Administrators group.

    отсюда можно уже другие выводы делать. В итоге такие выводы: на удалённой машине (где работает ваше приложение) учётная запись должна быть локальной. Не обязательно дожна входить в группу админов, но должна иметь разрешение на удалённую отладку. Учётная запись вашей машины должна быть или доменной или локальной. В целях упрощения, можно дать права админа на удалённой машине для вашей учётной записи. Вроде правильно изложил.


    Сделаем содержимое сообщества лучше, вместе!

    17 июля 2014 г. 7:04
    Модератор

Все ответы

  • Насчёт удалённой машины, помнится только при первом запуске удалённого отладчика должны быть права админа для конфигурации. Потом можно будет уже запустить и с правами обычного пользователя. Хотя тут уже зависит от имени кого запущен процесс, к которому нужно приатачиться. А что касается клиента (винды с IDE) то тут скорее всего у пользователя нет доступа для удалённого подключение. Аоэтому, скорее всего, надо ему эти права дать.

    Сделаем содержимое сообщества лучше, вместе!

    15 июля 2014 г. 15:03
    Модератор
  • я существенно отредактировал сообщение (только что). Перечитайте пожалуйста, там указаны результаты для разных IDE.
    15 июля 2014 г. 15:04
  • Насчёт удалённой машины, помнится только при первом запуске удалённого отладчика должны быть права админа для конфигурации. Потом можно будет уже запустить и с правами обычного пользователя. Хотя тут уже зависит от имени кого запущен процесс, к которому нужно приатачиться. А что касается клиента (винды с IDE) то тут скорее всего у пользователя нет доступа для удалённого подключение. Аоэтому, скорее всего, надо ему эти права дать.

    Сделаем содержимое сообщества лучше, вместе!

    На обоих машинках вход выполнен под одной и той же учётной записью.
    15 июля 2014 г. 15:07
  • Если на стороне удалённого отладчика включаю брандмауэр, то в случае с Visual Studio 2005, даже при попытке запуска отладчика из под администратора, получаю следующее:

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

    Сделаем содержимое сообщества лучше, вместе!

    15 июля 2014 г. 15:38
    Модератор
  • Попробуйте вручную разблокировать эти порты.

    Попробую завтра (сейчас уже не на работе).

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

    Буду признателен за ссылку на источник этой информации, дабы окончательно успокоиться на этот счёт.

    15 июля 2014 г. 17:13
  • Попробуйте вручную разблокировать эти порты.

    Для входящих подключений разблокировал порты TCP 135, UDP 4500 и UDP 500. Однако ситуация так и не изменилась.

    Меня несколько смущает запись (на скрине): "UDP 4500 / UDP 500". Как её понимать?

    Проверял, может опечатка и должно быть так: ""UDP 4500 / UDP 5000"или так "UDP 450 / UDP 500", т.е. для UDP на входящие пробовал разблокировку диапазонов 450-500 и 4500-5000. Но тоже не помогло...

    16 июля 2014 г. 5:10
  • "Буду признателен за ссылку на источник этой информации, дабы окончательно успокоиться на этот счёт." - пока особо ничего не нашёл. Информации на этот счёт почти нет.  Только вот это:

    Debugging another user's computer

    Suppose we want to perform remote debugging to a different user's computer with the different user logged on to the computer. We have to consider two primary issues:
    • Permissions
      By default, only administrators and the user running the remote debugger have access to connect to the remote debugger.

    Сделать однозначные выводы отсюда трудно. Хотя

    Note In Visual Studio .NET 2003 and Visual Studio .NET 2002, the user who is trying to perform remote debugging has to be a member of the Administrators group. However, in Visual Studio 2005, we don't need to add this user to the Administrators group.

    отсюда можно уже другие выводы делать. В итоге такие выводы: на удалённой машине (где работает ваше приложение) учётная запись должна быть локальной. Не обязательно дожна входить в группу админов, но должна иметь разрешение на удалённую отладку. Учётная запись вашей машины должна быть или доменной или локальной. В целях упрощения, можно дать права админа на удалённой машине для вашей учётной записи. Вроде правильно изложил.


    Сделаем содержимое сообщества лучше, вместе!

    17 июля 2014 г. 7:04
    Модератор
  • А что касается портов, то и на локальной машине они должны быть разблакированы. Новые версии студии всё делают максимально просто и автоматически. Со старыми проблемы. К сожалению под ругой нет на данный момент установленной студии, чтобы попробовать.

    Сделаем содержимое сообщества лучше, вместе!

    17 июля 2014 г. 7:07
    Модератор