Visual studio 2015 удаленная отладка

Обновлено: 07.07.2024

Присоединение к выполняемым процессам с использованием отладчика Visual Studio

Отладчик Visual Studio можно подключить к запущенному процессу на локальном или удаленном компьютере. После выполнения процесса выберите Отладка > Подключить к процессу или нажмите клавиши CTRL+ALT+P в Visual Studio и используйте диалоговое окно Подключение к процессу, чтобы подключить отладчик к процессу.

Параметр Подключить к процессу можно использовать для отладки запущенных приложений на локальных или удаленных компьютерах, одновременной отладки нескольких процессов, отладки приложений, которые не были созданы в Visual Studio, или отладки любого приложения, которое не было запущено из Visual Studio с прикрепленным отладчиком. Например, если вы используете приложение без отладчика и столкнулись с исключением, можно присоединить отладчик к процессу, в котором выполняется приложение, и начать отладку.

[!TIP] Не уверены, следует ли использовать параметр Подключить к процессу для сценария отладки? См. раздел Общие сценарии отладки.

Присоединение к выполняющемуся процессу на локальном компьютере

Сведения о том, как быстро присоединиться к процессу, подключенному ранее, см. в разделе Повторное подключение к процессу.

Порядок присоединения к процессу на локальном компьютере

В Visual Studio выберите Отладка > Подключить к процессу (или нажмите клавиши CTRL+ALT+P), чтобы открыть диалоговое окно Подключение к процессу.

Проверьте значение параметра Тип подключения.

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

В поле Цель подключения укажите имя локального компьютера.

Снимок экрана: диалоговое окно "Присоединение к процессу", в котором в качестве целевого объекта подключения задано имя локального компьютера.

В списке Доступные процессы найдите и выберите процессы, к которым нужно присоединиться.

Чтобы быстро выбрать процесс, введите его имя или первую букву в поле Фильтр процессов.

Если вы не знаете имя процесса, просмотрите список или обратитесь к разделу Общие сценарии отладки, чтобы ознакомиться с некоторыми распространенными именами процессов.

[!TIP] Процессы могут запускаться и останавливаться в фоновом режиме, пока диалоговое окно Подключение к процессу открыто, поэтому список запущенных процессов может не всегда быть актуальным. Чтобы просмотреть актуальный список, можно в любое время нажать кнопку Обновить.

Убедитесь, что в окне Присоединиться к указан тип кода, который планируется отладить. Для большинства типов приложений можно выбрать значение по умолчанию Автоматически.

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

Выбор кода вручную

Выберите Подключить.

. moniker range=">= vs-2022"

[!TIP] В сценарии с несколькими идентичными процессами вы можете указать процесс с использованием столбца командной строки или сведений о процессе w3wp из столбца заголовка. . moniker-end

[!NOTE] Во время отладки можно подключиться к нескольким приложениям, но в любой момент времени только один из них активен в отладчике. Можно выбрать текущую программу в панели инструментов Место отладки или окне Процессы в Visual Studio.

Присоединение к процессу на удаленном компьютере

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

Присоединение к выполняющемуся процессу на удаленном компьютере

В Visual Studio выберите Отладка > Подключить к процессу (или нажмите клавиши CTRL+ALT+P), чтобы открыть диалоговое окно Подключение к процессу.

Проверьте значение параметра Тип подключения.

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

В поле Целевой объект подключения выберите удаленный компьютер одним из следующих способов.

Щелкните стрелку раскрывающегося списка Целевой объект подключения и выберите из раскрывающегося списка имя компьютера.

Введите имя компьютера в поле Целевой объект подключения и нажмите клавишу ВВОД.

Убедитесь, что Visual Studio добавляет требуемый порт в имя компьютера, которое отображается в формате <remote computer name>:порт.

. moniker range=">= vs-2022"

[!NOTE] Если вы не можете подключиться с помощью имени удаленного компьютера, попробуйте использовать IP-адрес и порт (например, 123.45.678.9:4022 ). 4026 — это порт по умолчанию для удаленного отладчика Visual Studio 2022. Сведения о других назначениях портов удаленного отладчика см. в разделе Назначение портов удаленного отладчика.

. moniker-end . moniker range="vs-2019"

[!NOTE] Если вы не можете подключиться с помощью имени удаленного компьютера, попробуйте использовать IP-адрес и порт (например, 123.45.678.9:4022 ). 4024 — это порт по умолчанию для удаленного отладчика Visual Studio 2019. Сведения о других назначениях портов удаленного отладчика см. в разделе Назначение портов удаленного отладчика.

. moniker-end . moniker range="vs-2017"

[!NOTE] Если вы не можете подключиться с помощью имени удаленного компьютера, попробуйте использовать IP-адрес и порт (например, 123.45.678.9:4022 ). 4022 — это порт по умолчанию для удаленного отладчика Visual Studio 2017. Сведения о других назначениях портов удаленного отладчика см. в разделе Назначение портов удаленного отладчика.

[!NOTE] Значение параметра Тип подключения сохраняется между сеансами отладки. Параметр Целевой объект подключения хранится между сеансами отладки только в случае успешного подключения отладки с этим целевым объектом.

[!TIP] Процессы могут запускаться и останавливаться в фоновом режиме, пока диалоговое окно Подключение к процессу открыто, поэтому список запущенных процессов может не всегда быть актуальным. Чтобы просмотреть актуальный список, можно в любое время нажать кнопку Обновить.

В списке Доступные процессы найдите и выберите процессы, к которым нужно присоединиться.

Чтобы быстро выбрать процесс, введите его имя или первую букву в поле Фильтр процессов.

Если вы не знаете имя процесса, просмотрите список или обратитесь к разделу Общие сценарии отладки, чтобы ознакомиться с некоторыми распространенными именами процессов.

Чтобы найти процесс, который выполняется с другой учетной записью пользователя, установите флажок Показать процессы всех пользователей.

Убедитесь, что в окне Присоединиться к указан тип кода, который планируется отладить. Для большинства типов приложений можно выбрать значение по умолчанию Автоматически.

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

Выбор кода вручную

Выберите Подключить.

[!NOTE] Во время отладки можно подключиться к нескольким приложениям, но в любой момент времени только один из них активен в отладчике. Можно выбрать текущую программу в панели инструментов Место отладки или окне Процессы в Visual Studio.

В некоторых случаях при отладке в сеансе удаленного рабочего стола (службы терминалов) в списке Доступные процессы не отображаются все доступные процессы. При работе с Visual Studio в качестве пользователя с ограниченным доступом в списке Доступные процессы не будут отображаться процессы, запущенные в сеансе 0, который используется для служб и других серверных процессов, включая w3wp.exe. Можно устранить эту проблему, запустив [!INCLUDEvsprvs] под учетной записью администратора или запустив [!INCLUDEvsprvs] с консоли сервера вместо сеанса служб терминалов.

Если ни один из этих обходных путей использовать невозможно, третий вариант — присоединение к процессу путем запуска vsjitdebugger.exe -p <ProcessId> из командной строки Windows. Можно определить идентификатор процесса с помощью tlist.exe. Чтобы получить файл tlist.exe, скачайте и установите средства отладки для Windows, которые доступны на странице скачиваемых файлов WDK и WinDbg.

Если вы выполняете публикацию в Службе приложений Azure (Windows), параметр Подключить отладчик можно найти в меню . в разделе Размещение. Visual Studio пытается подключить удаленный отладчик к экземпляру Службы приложений Azure (Windows), в котором публикуется профиль.

. image type="content" source="../debugger/media/attach-debugger-publish-profile.jpg" alt-text="Снимок экрана: параметр "Подключить отладчик" на странице сводки публикации".

. moniker range=">= vs-2019"

Присоединение к процессу, выполняющемуся в контейнере Docker

Повторное подключение к процессу

Чтобы быстро присоединиться к процессам, к которым вы ранее были присоединены, выберите Отладка > Повторно подключиться к процессу (SHIFT+ALT+P). При выборе этой команды отладчик сразу же попытается присоединиться к последним процессам, к которым вы подключались, сначала попытавшись выполнить сопоставление с ИД предыдущего процесса, а если это не удается, то путем сопоставления с именем предыдущего процесса. Если совпадений не найдено или несколько процессов имеют одно и то же имя, откроется диалоговое окно Подключение к процессу, в котором можно выбрать правильный процесс.

[!NOTE] Команда Повторно подключиться к процессу доступна начиная с Visual Studio 2017.

Общие сценарии отладки

Чтобы определить, следует ли использовать команду Подключиться к процессу и к какому процессу подключиться, используйте таблицу ниже, в которой приведены несколько распространенных сценариев отладки со ссылками на дополнительные инструкции, где это возможно. (Этот список не является исчерпывающим.)

Для некоторых типов приложений, например универсальных приложений для Windows (UWP), не следует напрямую подключаться к имени процесса. Вместо этого необходимо использовать команду Отладка установленного пакета приложения в Visual Studio (см. таблицу).

Чтобы отладчик мог присоединиться к коду на языке C++, код должен предоставлять DebuggableAttribute . Это можно добавить в код автоматически, путем связывания с параметром /ASSEMBLYDEBUG компоновщика.

Для отладки скриптов на стороне клиента в браузере должна быть включена отладка скриптов. Для отладки клиентского скрипта в Chrome выберите JavaScript (Chrome) или JavaScript (Microsoft Edge - Chromium) в качестве типа кода, и, в зависимости от типа приложения, может потребоваться закрыть все экземпляры Chrome и запустить браузер в режиме отладки (введите chrome.exe --remote-debugging-port=9222 в командной строке). В более ранних версиях Visual Studio в качестве отладчика скриптов для Chrome использовался Веб-пакет.

Чтобы быстро выбрать выполняющийся процесс для подключения, в Visual Studio нажмите клавиши CTRL+ALT+P, а затем введите первую букву имени процесса.

Использование функций отладчика

Чтобы использовать все функции отладчика Visual Studio (например, при обнаружении точек останова) при присоединении к процессу, приложение должно точно соответствовать локальным источнику и символам. То есть отладчик должен иметь возможность загрузки правильных файлов символов (PDB). По умолчанию для этого требуется отладочная сборка.

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

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

Устранение ошибок присоединения

В некоторых сценариях отладчику может потребоваться помощь, чтобы правильно определить тип отлаживаемого кода. Если значения для подключения заданы правильно (проверить процесс можно в списке Доступные процессы), но отладчику не удается подключиться, попробуйте выбрать наиболее подходящий тип подключения в списке Тип подключения. Это может потребоваться, например, при отладке приложения Linux или Python. Если используется тип подключения "По умолчанию", можно также выбрать определенный тип кода для подключения, как описано далее в этом разделе.

При присоединении отладчика к выполняющемуся процессу этот процесс может содержать один или несколько типов кода. Типы кода, к которым может присоединиться отладчик, отображаются и выбираются в диалоговом окне Выбор типа кода .

Иногда отладчик может успешно присоединяться к одному типу кода, но не к другому. Это происходит в следующих случаях:

  • При попытке присоединения к процессу, выполняющемуся на удаленном компьютере. На удаленном компьютере для одних типов кода могут иметься компоненты удаленной отладки, а для других — нет.
  • При попытке присоединиться к двум или более процессам для прямой отладки базы данных. Отладка SQL поддерживает присоединение только к одному процессу.

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

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

Чтобы получить подробные сведения о том, почему не удалось присоединиться к типу кода:

Отключитесь от процесса. В меню Отладка выберите Отсоединить все.

Вновь подключитесь к процессу, выбрав только тип кода.

В диалоговом окне Присоединение к процессу выберите процесс в списке Доступные процессы.

Щелкните Выбрать.

В диалоговом окне Выбор типа кода выберите Выполнять отладку кода следующих типов и выберите тип кода, к которому не удалось присоединиться. Отмените выбор других типов кода.

В диалоговом окне Подключение к процессу нажмите Подключиться.

Удаленная отладка JavaScript с VS2015. Часть 1

2016-01-19 в 8:39, admin , рубрики: debug, javascript, Visual Studio, visual studio 2015, перевод

image

Удаленная отладка JavaScript с VS2015. Часть 1 - 2

Удаленная отладка JavaScript с VS2015. Часть 1 - 3

Удаленная отладка JavaScript с VS2015. Часть 1 - 4

Конфигурация VS 2015 Remote Debugger на целевой машине.

    Нажимаем на VS2015 Remote Debugger Configuration Wizard. Система попросит ввести учетный данные администратора системы либо предложит запуск с повышенными привилегиями, после предоставления чего, собственно, и запустится мастер. Нажимаем Next для продолжения:

Удаленная отладка JavaScript с VS2015. Часть 1 - 7

Удаленная отладка JavaScript с VS2015. Часть 1 - 8

Удаленная отладка JavaScript с VS2015. Часть 1 - 9

Удаленная отладка JavaScript с VS2015. Часть 1 - 10

Подключение VS2015 к VS2015 Remote Debugger на целевой машине.

Удаленная отладка JavaScript с VS2015. Часть 1 - 12

Удаленная отладка JavaScript с VS2015. Часть 1 - 13

Удаленная отладка JavaScript с VS2015. Часть 1 - 14

  • Если удаленный отладчик был сконфигурирован для запуска с учетной записью LocalSystem, тогда будет необходимо выбрать опцию Show processes from all users, чтобы увидеть ваши процессы. В противном случае будут перечислены лишь процессы учетной записи SYSTEM
  • Квалификатор (поле Qualifier) может измениться с ContosoDev2 на ContosoDev2:4020
  • Удостоверьтесь, что Script code выбран в поле Attach to (как на скриншоте)

Удаленная отладка JavaScript с VS2015. Часть 1 - 15

Удаленная отладка JavaScript с VS2015. Часть 1 - 16

Удаленная отладка JavaScript с VS2015. Часть 1 - 17

Удаленная отладка JavaScript с VS2015. Часть 1 - 18

Удаленная отладка JavaScript с VS2015. Часть 1 - 19

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

Удаленная отладка JavaScript с VS2015. Часть 1 - 20

Удаленная отладка JavaScript с VS2015. Часть 1 - 21

Частые вопросы по отладке и исправлению проблем (FAQ).

    Не получается найти компьютер. Удостоверьтесь в том, что брандмауэр не блокирует соединения. Можете воспользоваться утилитой наподобие TCPView, чтобы узнать, открыт ли порт. Также для дополнительной информации можна обратиться к секции Firewall Configuration или файлу справки удаленного отладчика на на целевой машине.

За кулисами процесс установки VS 2015 Remote Debugger конфигурирует правила брандмауэра для возможности удаленной отладки. Удаленный отладчик по умолчанию использует порт TCP 4020. Вы можете использовать другой порт, если необходимо. Удостоверьтесь в том, что msvsmon.exe на порту 4020 (или на вашем выбранном порту) брандмауэром или прочим защитным ПО. Для x86 процесса на 64-х разрядной ОС проверьте также, что порт 4021 открыт.

Удостоверьтесь в том, что подключаетесь к нужному экземпляру IE. IE запускает два процесса при первоначальной загрузке – процесс фреймов (frame process) и процесс вкладок (tab process). Вы должны подключать отладчик к процессу вкладок, а не фреймов. Дополнительная информация: LCIE

Проверьте окно Visual Studio JavaScript Console. Видите ли вы ошибки, подобные этой?

Удаленная отладка JavaScript с VS2015. Часть 1 - 22

Если да, то вам необходимо сконфигурировать IE на целевой машине для разрешения отладки скриптов. Итак:

  • Открываем на целевой машине процесс Internet Explorer
  • Кликаем Tools -> Internet Options, выбираем вкладку Advanced
  • На вкладке Advanced снимаем выделение следующих двух пунктов:

Удаленная отладка JavaScript с VS2015. Часть 1 - 23

Каждый экземпляр должен работать на своем собственном TCPIP порту. Это можно задать, воспользовавшись меню Tools -> Options удаленного отладчика или ключом командной строки:

Для подключения к конкретному экземпляру удаленного отладчика просто укажите имя компьютера и через двоеточие номер порта в окне подключения к процессу (например, MyServer:1234).

Запуск отладчика в качестве сервиса приводит к тому, что он всегда запускается и слушает сеть. Не рекомендуется использовать удаленный отладчик, запущенный как сервис, для отладки клиентских приложений.

С помощью мастера Visual Studio 2015 Remote Debug Configuration вы можете контролировать имя пользователя и пароль учетной записи, под которой запускается удаленный отладчик. Когда удаленный отладчик запущен, как служба, следующие требования должны быть удовлетворены для возможности отлаживать код удаленно:

  • Пользователь должен быть членом группы Администраторов компьютера для возможности отладки любого процесса
  • Пользователю должно быть предоставлено право 'Log on as a service', что можно сделать с помощью утилиты администрирования 'Local Security Policy'

Пользователь по умолчанию: “LocalSystem”.

Да, вы можете отлаживать любой код, отладку которого поддерживает VS 2015: управляемый код, неуправляемый, GPU, PowerShell, Script, T-SQL, Workflow…

Удаленная отладка JavaScript с VS2015. Часть 1 - 24

Удаленная отладка реализована при помощи Windows Web Services API. Windows Web Services API – это строительный блок при помощи которого приложения, например, удаленный отладчик, могут общаться друг с другом через сеть. Этот API уже включен в Windows 7, Windows Server 2008 R2 и более поздние ОС. На Windows Server 2008 (до R2) установщик Visual Studio Remote Tools автоматически установит API.

Установите VS 2015 Remote Debugger на целевой машине:

image




    Нажимаем на VS2015 Remote Debugger Configuration Wizard. Система попросит ввести учетный данные администратора системы либо предложит запуск с повышенными привилегиями, после предоставления чего, собственно, и запустится мастер. Нажимаем Next для продолжения:










  • Если удаленный отладчик был сконфигурирован для запуска с учетной записью LocalSystem, тогда будет необходимо выбрать опцию Show processes from all users, чтобы увидеть ваши процессы. В противном случае будут перечислены лишь процессы учетной записи SYSTEM
  • Квалификатор (поле Qualifier) может измениться с ContosoDev2 на ContosoDev2:4020
  • Удостоверьтесь, что Script code выбран в поле Attach to (как на скриншоте)






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



Частые вопросы по отладке и исправлению проблем (FAQ).

    Не получается найти компьютер. Удостоверьтесь в том, что брандмауэр не блокирует соединения. Можете воспользоваться утилитой наподобие TCPView, чтобы узнать, открыт ли порт. Также для дополнительной информации можна обратиться к секции Firewall Configuration или файлу справки удаленного отладчика на на целевой машине.

За кулисами процесс установки VS 2015 Remote Debugger конфигурирует правила брандмауэра для возможности удаленной отладки. Удаленный отладчик по умолчанию использует порт TCP 4020. Вы можете использовать другой порт, если необходимо. Удостоверьтесь в том, что msvsmon.exe на порту 4020 (или на вашем выбранном порту) брандмауэром или прочим защитным ПО. Для x86 процесса на 64-х разрядной ОС проверьте также, что порт 4021 открыт.

Удостоверьтесь в том, что подключаетесь к нужному экземпляру IE. IE запускает два процесса при первоначальной загрузке – процесс фреймов (frame process) и процесс вкладок (tab process). Вы должны подключать отладчик к процессу вкладок, а не фреймов. Дополнительная информация: LCIE

Проверьте окно Visual Studio JavaScript Console. Видите ли вы ошибки, подобные этой?


Если да, то вам необходимо сконфигурировать IE на целевой машине для разрешения отладки скриптов. Итак:

  • Открываем на целевой машине процесс Internet Explorer
  • Кликаем Tools -> Internet Options, выбираем вкладку Advanced
  • На вкладке Advanced снимаем выделение следующих двух пунктов:


Каждый экземпляр должен работать на своем собственном TCP\IP порту. Это можно задать, воспользовавшись меню Tools -> Options удаленного отладчика или ключом командной строки:

Для подключения к конкретному экземпляру удаленного отладчика просто укажите имя компьютера и через двоеточие номер порта в окне подключения к процессу (например, MyServer:1234).

Запуск отладчика в качестве сервиса приводит к тому, что он всегда запускается и слушает сеть. Не рекомендуется использовать удаленный отладчик, запущенный как сервис, для отладки клиентских приложений.

С помощью мастера Visual Studio 2015 Remote Debug Configuration вы можете контролировать имя пользователя и пароль учетной записи, под которой запускается удаленный отладчик. Когда удаленный отладчик запущен, как служба, следующие требования должны быть удовлетворены для возможности отлаживать код удаленно:

  • Пользователь должен быть членом группы Администраторов компьютера для возможности отладки любого процесса
  • Пользователю должно быть предоставлено право 'Log on as a service', что можно сделать с помощью утилиты администрирования 'Local Security Policy'

Да, вы можете отлаживать любой код, отладку которого поддерживает VS 2015: управляемый код, неуправляемый, GPU, PowerShell, Script, T-SQL, Workflow…


Удаленная отладка реализована при помощи Windows Web Services API. Windows Web Services API – это строительный блок при помощи которого приложения, например, удаленный отладчик, могут общаться друг с другом через сеть. Этот API уже включен в Windows 7, Windows Server 2008 R2 и более поздние ОС. На Windows Server 2008 (до R2) установщик Visual Studio Remote Tools автоматически установит API.


Чтобы начать наши эксперименты, необходимо установить саму виртуальную среду. Кто-то предпочитает VirtualBox, но мы будем использовать VMware Workstation, потому что VirtualBox с некоторыми инструментами удаленной отладки дружит несколько хуже и требует дополнительной настройки. С VMware таких проблем нет. В качестве целевой операционной системы мы будем использовать Windows 10 x64 LTSB. Настоятельно рекомендуется сразу же создать общую папку для удобной переброски файлов с хостовой ОС на гостевую. Также следует выбрать тип микропрограммы BIOS, а не UEFI. Это делается для совместимости с некоторыми отладочными компонентами, которые мы будем использовать.

Настройка виртуальной машины

Настройка виртуальной машины

Во время отладки на компьютере зачастую запущено несколько требовательных к объему оперативной памяти приложений: сама виртуальная машина, компилятор, браузер. Для комфортной работы понадобится как минимум 8 Гбайт.

Удаленная отладка в Microsoft Visual Studio

Популярная IDE Microsoft Visual Studio также поддерживает средства удаленной отладки. Чтобы ими воспользоваться, тоже понадобится виртуальная машина, с сервером отладки Visual Studio Remote Tools. Обрати внимание: он должен подходить к той версии Visual Studio, из которой ты хочешь подключаться.

Также я рекомендую отключить аутентификацию на сервере отладки, чтобы всякий раз не вводить учетные данные пользователя. Для этого зайди в «Сервис → Параметры», выбери режим «Без аутентификации» и включи чекбокс «Разрешить отладку любому пользователю».

Настройка Visual Studio Remote Tools

Настройка Visual Studio Remote Tools

Сервер запущен, настроен и слушает порт 4022 на предмет подключения отладчика.

Готовый к работе удаленный отладчик Microsoft

Готовый к работе удаленный отладчик Microsoft

Теперь переходим в Visual Studio для настройки проекта под удаленную отладку. Для начала нам нужно открыть свойства проекта и перейти на вкладку «Отладка». В строке «Удаленная команда» нужно задать путь до отлаживаемого файла, в пунктах «Рабочий каталог» и «Каталог развертывания» указать каталог с отлаживаемым файлом. Также необходимо задать имя удаленного сервера (его можно взять в окне сервера отладки в виртуальной машине) и выбрать тип подключения «Без аутентификации». Теперь заходим в «Диспетчер конфигураций» и ставим чекбокс в столбце «Развертывание» напротив нашего проекта.

Теперь все готово к удаленной отладке, которую можно начать, выбрав в меню «Отладка» пункт «Начать отладку» либо нажав F5. Visual Studio, кстати, позволяет подсоединяться к удаленному процессу в виртуальной машине. Для этого нужно выбрать в меню «Отладка» «Присоединиться к процессу» и в появившемся окне — удаленный сервер и процесс.

Настройка Visual Studio Remote Tools

Настройка Visual Studio Remote Tools

Ура! Visual Studio полностью готова к удаленной отладке.

Удаленная отладка с IDA Starter

С некоторого времени популярный и весьма мощный дизассемблер IDA Pro стал распространяться бесплатно для частного использования. Разумеется, речь идет о его урезанной версии — IDA Starter. Основная функция этого инструмента — статический анализ, но, помимо этого, он умеет удаленно отлаживать приложения. Сейчас мы разберемся, как его настроить для удаленной отладки.

Итак, в корневой папке IDA ты найдешь каталог dbgsrv , внутри которого есть несколько серверов под разные ОС и архитектуры процессора. Если ты собираешься отлаживать 64-разрядные приложения, то на гостевой ОС необходимо запустить файл win64_remote64.exe , предварительно скопировав его в виртуальную машину. После запуска он сообщит нам IP отладочного сервера и порт, через который происходит отладка. Если необходимо запустить этот сервер с возможностью авторизации, просто добавь параметр -P и пароль при запуске сервера отладки.

Теперь переходим на основную машину, чтобы настроить удаленную отладку в самой IDA.

Сервер IDA на целевой машине

Сервер IDA на целевой машине

Для настройки отладчика в IDA открывай меню Debugger → Select debugger или жми F9. Теперь в списке доступных отладчиков выбирай Remote Windows Debugger. Появится окно, предупреждающее о рисках дебага, отвечай утвердительно, если понимаешь их. 🙂

Теперь появится окно настройки удаленного отладчика, где следует задать путь к отлаживаемому файлу и рабочей папке, а также IP и порт сервера отладки на удаленной машине. Всю эту информацию можно получить в виртуальной машине, которую мы уже настроили.

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Читайте также: