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


Параметры командной строки WinDbg

В первый раз пользователи WinDbg должны начинаться с раздела "Отладка с помощью WinDbg (классическая модель").

В командной строке WinDbg используется следующий синтаксис:

windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]
   [ -premote SmartClientTransport ] [-?] [-ee {masm|c++}] 
   [-clines lines] [-b] [-d] [-aExtension]  
   [-failinc] [-g] [-G] [-hd] [-j] [-n] [-noshell] [-o] [-openPrivateDumpByHandle Handle]
   [-Q | -QY] [-QS | -QSY] [-robp] [-secure] [-ses] [-sdce] 
   [-sicv] [-sins] [-snc] [-snul] [-sup] [-sflags 0xNumber] 
   [-T Title] [-v] [-log{o|a} LogFile] [-noinh] 
   [-i ImagePath] [-y SymbolPath] [-srcpath SourcePath] 
   [-k [ConnectType] | -kl | -kx ExdiOptions] [-c "command"] 
   [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv]
   [-W Workspace] [-WF Filename] [-WX] [-zp PageFile] 
   [ -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 

windbg -I[S] 

windbg -IU KeyString

windbg -IA[S] 

Ниже приведены описания параметров командной строки WinDbg. Все параметры командной строки чувствительны к регистру, за исключением -j. Начальный дефис можно заменить косой чертой вперед (/).

Если используется параметр -remote или -server, он должен отображаться перед любыми другими параметрами в командной строке. Если указан исполняемый файл, он должен отображаться последним в командной строке; любой текст после передачи имени исполняемого файла в исполняемую программу в качестве собственных параметров командной строки.

Параметры

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

-удалённый ClientTransport
Создает клиент отладки и подключается к серверу отладки, который уже запущен. Описание возможных значений ClientTransport см. в разделе "Активация клиента отладки". Если этот параметр используется, он должен быть первым параметром в командной строке.

-premote SmartClientTransport
Создает смарт-клиент и подключается к серверу обработки, который уже запущен. Описание возможных значений SmartClientTransport см. в разделе "Активация смарт-клиента".

-a Расширение
Задает библиотеку DLL расширения по умолчанию. Значение по умолчанию — kdextx86.dll или kdexts.dll. Не должно быть места после "a", а расширение имени файла .dll не должно быть включено. Дополнительные сведения и другие методы настройки этого по умолчанию см. в разделе "Загрузка библиотек DLL расширения отладчика".

-b
Этот параметр больше не поддерживается.

-c " команда "
Указывает начальную команду отладчика для запуска при запуске. Эта команда должна быть заключена в кавычки. Несколько команд можно разделить точкой с запятой. (Если у вас есть длинный список команд, их может быть проще поместить в скрипт, а затем использовать параметр -c с командой $<, $, $><><, $$>< (Запуск файла скрипта).)

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

-clines обводы
Задает приблизительное количество команд в журнале команд, к которым можно получить доступ во время удаленной отладки. Дополнительные сведения и другие способы изменения этого числа см. в разделе "Использование команд отладчика".

-d
(только режим ядра) После перезагрузки отладчик переходит на целевой компьютер сразу после загрузки модуля ядра. (Этот разрыв выше, чем разрыв с параметром -b .) Дополнительные сведения и другие методы изменения состояния см. в разделе "Аварийное завершение и перезагрузка целевого компьютера ".

-ee {masm|c++}
Задает средство оценки выражений по умолчанию. Если задан масм , будет использоваться синтаксис выражения MASM. При указании c++ синтаксис выражения C++ будет использоваться. Если параметр -ee опущен, синтаксис выражения MASM используется в качестве значения по умолчанию. Дополнительные сведения см. в статье об оценке выражений .

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

-g
(Только в пользовательском режиме) Игнорирует начальную точку останова в целевом приложении. Этот параметр приведет к продолжению работы целевого приложения после запуска или подключения WinDbg к нему, если не задана другая точка останова. Дополнительные сведения см. в разделе "Начальная точка останова".

-G
(Только в пользовательском режиме) Игнорирует окончательную точку останова при завершении процесса. Как правило, сеанс отладки заканчивается во время запуска образа. Этот параметр приведет к тому, что сеанс отладки завершается немедленно после завершения дочернего сеанса. Это имеет тот же эффект, что и ввод sxd epr команды. Дополнительные сведения см. в разделе "Управление исключениями и событиями".

-hd
(Только в пользовательском режиме) Указывает, что отладочная куча не должна использоваться.

-I[S]
Устанавливает WinDbg в качестве отладчика postmortem. Дополнительные сведения см. в разделе "Включение отладки postmortem".

После попытки этого действия отображается сообщение об успешном выполнении или сбое. Если включенА функция S , эта процедура выполняется автоматически, если она выполнена успешно; отображаются только сообщения об ошибках.

Параметр -I не должен использоваться с другими параметрами. Эта команда на самом деле не запустит WinDbg, хотя окно WinDbg может появиться в течение некоторого момента.

-IA[S]
Связывает WinDbg с расширениями файлов .dmp, MDMP и .wew в реестре. После попытки этого действия отображается сообщение об успешном выполнении или сбое. Если включенА функция S , эта процедура выполняется автоматически, если она выполнена успешно; отображаются только сообщения об ошибках. После того как эта связь будет выполнена, выберите и удерживайте файл (или щелкните правой кнопкой мыши) файл с одним из этих расширений запустит WinDbg.

Параметр -IA не должен использоваться с другими параметрами. Эта команда на самом деле не запустит WinDbg, хотя окно WinDbg может появиться в течение некоторого момента.

-МЕ KeyString
Регистрирует удаленное взаимодействие отладчика в качестве типа URL-адреса, чтобы пользователи могли автоматически запускать удаленный клиент отладчика с URL-адресом. KeyString имеет формат remdbgeng://RemotingOption. RemotingOption — это строка, определяющая транспортный протокол, как определено в разделе "Активация клиента отладки". Если это действие выполнено успешно, сообщение не отображается; Если ошибка завершается ошибкой, отображается сообщение об ошибке.

Параметр -IU не должен использоваться с другими параметрами. Хотя окно WinDbg может появиться в течение некоторого момента, эта команда на самом деле не запустит WinDbg.

ImagePath
Указывает расположение исполняемых файлов, создающих ошибку. Если путь содержит пробелы, он должен быть заключен в кавычки.

-j
Разрешить ведение журнала.

-k [ConnectType]
(только режим ядра) Запускает сеанс отладки ядра. Дополнительные сведения см. в статье Отладка в режиме динамического ядра с помощью WinDbg (классическая модель). Если параметр -k используется без параметров ConnectType после него, он должен быть окончательной записью в командной строке.

-kl
(только режим ядра) Запускает сеанс отладки ядра на том же компьютере, что и отладчик.

-kx ExdiOptions
(только режим ядра) Запускает сеанс отладки ядра с помощью драйвера EXDI. Дополнительные сведения об EXDI см. в разделе "Настройка транспорта отладчика EXDI".

-log{o|a} LogFile
Начинает ведение журнала в файл журнала. Если указанный файл журнала уже существует, он будет перезаписан, если используется логотип . Если используется loga , выходные данные будут добавлены в файл. Дополнительные сведения см. в статье "Сохранение файла журнала в WinDbg".

-lsrcpath
Задает локальный исходный путь для удаленного клиента. Этот параметр должен соответствовать -remote в командной строке.

-n
Шумная загрузка символов: включает подробные выходные данные обработчика символов. Дополнительные сведения и другие методы управления этим процессом см . в SYMOPT_DEBUG.

-noinh
(Только в пользовательском режиме) Запрещает процессам, созданным отладчиком, наследовать дескриптор от отладчика. Другие методы управления этим процессом см. в разделе Отладка процесса пользовательского режима с помощью WinDbg.

-noprio
Предотвращает любое изменение приоритета. Этот параметр не позволит WinDbg принимать приоритет для времени ЦП во время активности.

-noshell
Запрещает все команды .shell . Это запрет будет длиться до тех пор, пока отладчик запущен, даже если начинается новый сеанс отладки. Дополнительные сведения и другие способы отключения команд оболочки см. в разделе "Использование команд оболочки".

-o
(Только в пользовательском режиме) Отладка всех процессов, запущенных целевым приложением (дочерними процессами). По умолчанию процессы, созданные при отладке, будут выполняться как обычно.

-openPrivateDumpByHandle Ручка
Указывает дескриптор файла аварийного дампа для отладки.

-p PiD
Указывает идентификатор десятичного процесса для отладки. Используется для отладки процесса, который уже запущен.

-pb
(Только в пользовательском режиме) Запрещает отладчику запрашивать начальный разрыв при присоединении к целевому процессу. Это может быть полезно, если приложение уже приостановлено или если вы хотите избежать создания потока останова в целевом объекте.

-pd
(Только в пользовательском режиме) Приводит к тому, что целевое приложение не будет завершено в конце сеанса отладки. Дополнительные сведения см. в разделе "Завершение сеанса отладки" в WinDbg (классическая версия).

-pe
(Только в пользовательском режиме) Указывает, что целевое приложение уже отлаживается. Дополнительные сведения см. в статье "Повторное присоединение к целевому приложению ".

-pn Имя
Указывает имя процесса для отладки. (Это имя должно быть уникальным.) Используется для отладки процесса, который уже запущен.

-pr
(Только в пользовательском режиме) Вызывает отладчик запустить целевой процесс, запущенный при подключении к нему. Это может быть полезно, если приложение уже приостановлено, и вы хотите возобновить выполнение.

-psn Имя службы
Указывает имя службы, содержащейся в процессе отладки. Используется для отладки процесса, который уже запущен.

-точка Товары второго сорта
Указывает время ожидания останова в секундах. Значение по умолчанию равно 30. Дополнительные сведения см. в разделе "Управление целевым объектом ".

-pv
(Только в пользовательском режиме) Указывает, что отладчик должен подключаться к целевому процессу, неисключаемо. Дополнительные сведения см. в разделе "Невиновная отладка" (режим пользователя).

-Q
Запрещает диалоговое окно "Сохранить рабочую область?" Рабочие области не сохраняются автоматически. Дополнительные сведения см. в статье об использовании рабочих областей — WinDbg (классическая модель ).

-QS
Подавляет диалоговое окно "Перезагрузить источник?" Исходные файлы не загружаются автоматически.

-QSY
Подавляет диалоговое окно "Перезагрузить источник?" и автоматически перезагрузит исходные файлы.

-QY
Подавляет диалоговое окно "Сохранить рабочую область?" и автоматически сохраняет рабочие области. Дополнительные сведения см. в статье об использовании рабочих областей — WinDbg (классическая модель ).

-robp
Это позволяет CDB задать точку останова на странице памяти только для чтения. (По умолчанию такая операция завершается ошибкой.)

-sdce
Позволяет отладчику отображать сообщения об ошибках доступа к файлам во время загрузки символов. Дополнительные сведения и другие методы контроля см. в SYMOPT_FAIL_CRITICAL_ERRORS.

-безопасный
Активирует безопасный режим.

-ses
Позволяет отладчику выполнять строгую оценку всех файлов символов и игнорировать любые сомнительные символы. Дополнительные сведения и другие методы управления этим процессом см. в SYMOPT_EXACT_SYMBOLS.

-sflags 0x Число
Задает все параметры обработчика символов одновременно. Число должно быть шестнадцатеричным числом, префиксом 0x - десятичное значение без 0x разрешено, но параметры символов являются двоичными флагами, поэтому рекомендуется шестнадцатеричное значение. Этот параметр следует использовать с осторожностью, так как он переопределит все значения обработчика символов по умолчанию. Дополнительные сведения см. в разделе "Параметры символов".

-sicv
Вызывает пропуск записи CV обработчика символов. Дополнительные сведения и другие методы управления этим процессом см. в SYMOPT_IGNORE_CVREC.

-Грехи
Позволяет отладчику игнорировать путь символа и переменные среды пути к исполняемому изображению. Дополнительные сведения см. в SYMOPT_IGNORE_NT_SYMPATH.

-snc
Приводит к отключению отладчика перевода C++. Дополнительные сведения и другие методы управления этим процессом см . в SYMOPT_NO_CPP.

-snul
Отключает автоматическую загрузку символов для неквалифицированных имен. Дополнительные сведения и другие методы управления этим процессом см . в SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpath SourcePath
Указывает путь поиска исходного файла. Разделение нескольких путей с запятой (;). Если путь содержит пробелы, он должен быть заключен в кавычки. Дополнительные сведения и другие способы изменения этого пути см. в разделе "Исходный путь".

-глоток
Вызывает обработчик символов для поиска открытой таблицы символов во время каждого поиска символов. Дополнительные сведения и другие методы управления этим процессом см. в SYMOPT_AUTO_PUBLICS.

-T Титул
Задает заголовок окна WinDbg.

-v
Включает подробные выходные данные от отладчика.

-W Рабочая область
Загружает указанную именованную рабочую область. Если имя рабочей области содержит пробелы, заключите его в кавычки. Если рабочая область этого имени отсутствует, вы сможете создать новую рабочую область с этим именем или отказаться от попытки загрузки. Дополнительные сведения см. в разделе "Использование рабочих областей — WinDbg (классическая модель)".

-WF Имя файла
Загружает рабочую область из заданного файла. Имя файла должно содержать файл и расширение (обычно wew). Если имя рабочей области содержит пробелы, заключите его в кавычки. Если файл рабочей области с этим именем отсутствует, вы сможете создать новый файл рабочей области с таким именем или отказаться от попытки загрузки. Дополнительные сведения см. в разделе "Использование рабочих областей — WinDbg (классическая модель)".

-WX
Отключает автоматическую загрузку рабочей области. Дополнительные сведения см. в разделе "Использование рабочих областей — WinDbg (классическая модель)".

-y SymbolPath
Указывает путь поиска символов. Разделение нескольких путей с запятой (;). Если путь содержит пробелы, он должен быть заключен в кавычки. Дополнительные сведения и другие способы изменения этого пути см. в разделе "Путь к символам".

-z DumpFile
Указывает имя файла аварийного дампа для отладки. Если путь и имя файла содержат пробелы, это должно быть окружено кавычками. Можно одновременно открыть несколько файлов дампа, включив несколько параметров -z , за которыми следует другое значение DumpFile . Дополнительные сведения см. в разделе "Анализ файла дампа в режиме пользователя" или "Анализ файла дампа в режиме ядра" с помощью WinDbg.

-zp PageFile
Указывает имя измененного файла страницы. Это полезно, если вы отладили файл дампа и хотите использовать команду .pagein (Page In Memory). Нельзя использовать -zp со стандартным файлом страницы Windows— можно использовать только специально измененные файлы страниц.

выполнимый
Задает командную строку исполняемого процесса. Используется для запуска нового процесса и отладки. Это должен быть окончательный элемент в командной строке. Весь текст после того, как имя исполняемого файла передается исполняемому файлу в качестве строки аргумента. Дополнительные сведения см. в статье отладка процесса пользовательского режима с помощью WinDbg.

-?
Откроется окно справки HTML.

При запуске отладчика из командной строки укажите аргументы для целевого приложения после имени файла приложения. Например:

windbg myexe arg1 arg2