Поделиться через


Запуск сеанса отладки

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

Чтобы начать использование этого метода, необходимо выполнить следующее. Шаги 1 и 2 можно выполнить в любом порядке.

  1. Запустите NTSD или CDB на целевом компьютере с параметром командной строки -d.

    Например, можно подключиться к запущенным процессам с помощью следующего синтаксиса.

    ntsd -d [-y UserSymbolPath] -p PID

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

    ntsd -d [-y UserSymbolPath] ApplicationName

    Если вы устанавливаете это в качестве отладчика postmortem, вы будете использовать следующий синтаксис.

    ntsd -d [-y UserSymbolPath]

    Дополнительные сведения об этом шаге см. в разделе Отладка процесса пользовательского режима с помощью CDB.

  2. Запустите WinDbg или KD на хост-компьютере, как если бы вы отладили целевой компьютер, но не прерывайте работу на целевом компьютере. Чтобы использовать WinDbg, используйте следующий синтаксис.

    windbg [-y KernelSymbolPath] [-k ConnectionOptions]

    Дополнительные сведения об этом шаге см. в статье "Отладка в режиме динамического ядра" с помощью WinDbg (классическая версия).

    Обратите внимание , что при использовании WinDbg в качестве отладчика ядра многие знакомые функции WinDbg недоступны в этом сценарии. Например, нельзя использовать окно "Локальные", окно "Дизассембли" или окно "Стек вызовов", а также выполнить шаги по исходному коду. Это связано с тем, что WinDbg выступает только в качестве средства просмотра для отладчика (NTSD или CDB), работающего на целевом компьютере.

  3. Если путь символа пользовательского режима не задан, задайте его из запроса ввода> . Если вы не установили путь к символам в режиме ядра, задайте его из запроса kd> . Сведения о том, как получить доступ к этим запросам и переключиться между режимами, см. в разделе "Переключение режимов".

Если вы используете CDB, окно командной строки, связанное с CDB, остается заблокированным и недоступным во время отладки. При использовании NTSD не создается дополнительное окно, даже если NTSD имеет идентификатор процесса, связанный с ним на целевом компьютере.

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