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


Параметры Command-Line 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 , он должен отображаться перед любыми другими параметрами в командной строке. Если указан исполняемый файл , он должен отображаться последним в командной строке; любой текст после имени исполняемого файла передается исполняемой программе в качестве собственных параметров командной строки.

Параметры

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

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

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

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

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

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

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

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

-D
(Только в режиме ядра) После перезагрузки отладчик войдет в целевой компьютер сразу после загрузки модуля ядра. (Этот разрыв раньше, чем разрыв из параметра -b .) Дополнительные сведения и другие способы изменения этого состояния см. в разделе Сбой и перезагрузка целевого компьютера .

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-zpPageFile
Указывает имя измененного файла подкачки. Это полезно, если вы выполняете отладку файла дампа и хотите использовать команду .pagein (страница в памяти). Вы не можете использовать -zp со стандартным файлом подкачки Windows. Можно использовать только специально измененные файлы страниц.

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

-?
Всплывает это окно справки HTML.

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

windbg myexe arg1 arg2