Можно ли установить удаленный отладчик x86 в качестве службы на 64-битном компьютере? Мне нужно подключить отладчик к управляемому коду в процессе сеанса 0. Процесс работает 32-битным, но устанавливаемая служба отладчика является 64-битной и не будет подключаться к 32-битному процессу.
Я попытался создать службу с помощью команды SC, смог запустить службу и убедился, что она работает в процессах диспетчера задач. Однако, когда я попытался подключиться к нему с помощью Visual Studio, он сказал, что монитор удаленного отладчика не включен. Когда я остановил службу x86 и запустил службу x64, он смог найти монитор, но все равно получил ошибку.
Вот ошибка, когда я пытаюсь использовать удаленный отладчик: Невозможно подключиться к процессу. 64-разрядная версия монитора удаленной отладки Visual Studio (MSVSMON.EXE) не может отлаживать 32-разрядные процессы или 32-разрядные дампы. Вместо этого используйте 32-битную версию.
Вот ошибка, когда я пытаюсь подключиться локально: Присоединение к процессу в другом сеансе терминального сервера на этом компьютере не поддерживается. Попробуйте выполнить удаленную отладку на компьютере и запустить монитор удаленной отладки Microsoft Visual Studio в сеансе процесса.
Если я попытаюсь запустить 32-битный удаленный отладчик как приложение, он не будет работать, прикрепить b / c удаленный отладчик работает в моем сеансе, а не в сеансе 0.





Я этого не пробовал, но вот предложение:
Попробуйте установить службу удаленного отладчика x86 вручную.
sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90"
Два примечания:
Затем вы можете использовать апплет панели управления services.msc, чтобы запустить его с правильными учетными данными.
Вероятно, вам придется остановить или, возможно, даже удалить существующую службу удаленного отладчика x64.
Это работает на моей машине (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-битную рабочую станцию xp к серверу x64 win 2003 с удаленным отладчиком VS 2008.
У нас была такая же проблема при удаленной отладке веб-сайта, который работает как 32-битный внутри 64-битного IIS.
Вы также можете сделать это:
В связи с этим, существует также низкоуровневая ошибка с аутентификацией Kerberos, если вы подключаетесь из Windows 2008/7 / Vista к машине 2003 года, о которой сообщается в MS (а затем закрывается как `` внешняя '') через Connect здесь: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455
Мы зарегистрировали новую ошибку в MS Connect о проблеме аутентификации Kerberos здесь: connect.microsoft.com/WindowsServerFeedback/feedback/…. Если кто-то еще столкнется с этой проблемой, проголосуйте за нее - у меня есть скрытое подозрение, что команда Windows просто вернет ее обратно команде VS.
Для меня это сработало как шарм! Спасибо! Просто нужно было запустить параметр x86 из меню «Пуск». Намного проще, чем иметь дело с сервисом.
У меня работает, но у меня был один дополнительный шаг - запрос да / нет в поле сервера, чтобы разрешить входящее соединение после того, как я вошел в квалификатор из поля хоста.
Когда я установил средства удаленной отладки, в меню «Пуск» не было ссылки на службу отладки x86. Перейдите в каталог, в котором он установлен, проверив ярлык x64, и вы его найдете.
У меня заработало без установки дополнительного ПО. Я просто скопировал папку C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger на виртуальную машину и запустил msvsmon.exe из папки x86. И мой гость, и хозяин - x64.
«Удаленный» отладчик подразумевает его на сервере. Затем нужно убедиться, что он установлен на сервере. Да, он также устанавливается вместе с Visual Studio на вашу рабочую станцию для локальной отладки. Вы только что скопировали исполняемый файл, например, это Mac или что-то в этом роде !!
1) Установите версию x64. При этом также устанавливается отладчик x86, но не создается ярлык.
2) Вы можете найти исполняемый файл для отладки процесса x86 здесь ... C: \ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe
3) Если хотите, закрепите его на панели задач.
Иногда возникала эта ошибка, я просто закрываю визуальную студию и снова открываю, все в порядке!
Очень странное поведение от vs
Сегодня я столкнулся с этой проблемой (64-битная ОС и VS 2019). Я изменил конфигурацию, чтобы использовать x64 для проекта, IISExpress, чтобы использовать 64-разрядную версию, а цель платформы - x64. Он по-прежнему использовал 32-битный отладчик и жаловался. Наконец, когда я включил отладку сценариев, он начал использовать 64-битный отладчик. Так что я бы сказал, что сочетание всего этого добилось.
Не могли бы вы подробнее рассказать о проблеме? о какой 32-битной службе идет речь? В чем именно заключается ошибка - вы имеете в виду разрядность, но 64-разрядный отладчик должен иметь возможность загружать 32-разрядный управляемый код, afaik.