Выбор оптимального метода удаленной отладки
Существует два основных метода выполнения удаленной отладки, а также несколько дополнительных методов и огромное количество сочетаний методов.
Ниже приведены некоторые советы, которые помогут вам выбрать лучший метод.
Удаленная отладка через отладчик обычно является лучшим методом. Если у вас просто один сервер и один клиент, и они могут свободно подключаться друг к другу, на клиенте и сервере устанавливаются одинаковые двоичные файлы отладчика, а специалист по отладке, который будет работать с клиентом, сможет поговорить с кем-то в комнате с сервером, это рекомендуемый метод.
Клиент и сервер могут работать под управлением любой версии Windows. Им не нужно использовать одну и ту же версию.
Если клиенту не удается отправить запрос на подключение к серверу, но сервер может отправить запрос клиенту, можно использовать удаленную отладку через отладчик с обратным подключением с помощью параметра clicon.
удаленная отладка с помощью remote.exe используется для удаленного управления окном командной строки. Его можно использовать для удаленного управления KD, CDB или NTSD. Его нельзя использовать с WinDbg.
Если у клиента нет копий двоичных файлов отладчика, необходимо использовать метод remote.exe.
сервер обработки или сервер подключения K Dможно использовать, если специалист по отладке не сможет взаимодействовать с кем-либо в комнате с сервером. Все фактические операции отладки выполняются клиентом (называется смарт-клиентом); Это удаляет необходимость в наличии второго человека на самом сервере. Серверы обработки используются для отладки в пользовательском режиме; Серверы подключения KD используются для отладки в режиме ядра. Кроме этого различия, они ведут себя аналогичным образом.
Этот метод также полезен, если компьютер, на котором сервер будет работать, не может обрабатывать тяжелые нагрузки процесса, или если специалист, на котором работает клиент, имеет доступ к файлам символов или исходным файлам, которые являются конфиденциальными и не могут быть доступны серверу. Однако этот метод не так быстро или эффективно, как удаленная отладка через отладчик. Этот метод нельзя использовать для отладки дампа-файла.
Дополнительные сведения см. в
серверов обработки . повторитель — это упрощенный прокси-сервер, который передает данные между двумя компьютерами. Можно добавить повторитель между клиентом и сервером, если выполняется удаленная отладка через отладчик или используется сервер обработки.
Использование ретранслятора может потребоваться, если клиент и сервер не могут напрямую связываться друг с другом, но могут получить доступ к внешнему компьютеру. Кроме того, можно использовать обратные подключения с повторителями. Даже можно использовать два повтора в строке, но это редко необходимо.
Подробнее см. в ретрансляторах.
Также можно управлять CDB (или NTSD) из отладчика ядра. Это еще одна форма удаленной отладки. Дополнительные сведения см. в управлении отладчиком User-Mode из отладчика ядра.
Возможны варианты всех этих методов.
Можно объединить несколько компьютеров, чтобы воспользоваться несколькими способами транспорта. Вы можете создать сложные последовательности транспорта, которые учитывают, где находится технический специалист, где находятся символы, и есть ли брандмауэры, предотвращающие подключения в определенных направлениях. Примеры см. в сценариях расширенной удаленной отладки.
Вы даже можете выполнять удаленную отладку на одном компьютере. Например, может быть полезно запустить сервер обработки с низким уровнем привилегий, а затем подключиться к нему с помощью смарт-клиента с высоким уровнем привилегий.
Важный
При использовании удаленной отладки необходимо учитывать важные аспекты безопасности. Дополнительные сведения о включении безопасного режима см. в разделе Безопасность во время удаленной отладки и вопросы безопасности для средств отладки Windows.