Параметры командной строки 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