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


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

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

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

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

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

    ntsd -d [-yUserSymbolPath] -pPID

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

    ntsd -d [-yUserSymbolPath]ApplicationName

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

    ntsd -d [-yUserSymbolPath]

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

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

    windbg [-yKernelSymbolPath] [-kConnectionOptions]

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

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

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

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

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