WinDbg: параметры, рабочие области и сохраненные сеансы отладки

логотип WinDbg с увеличивающимся стеклом, проверяющим биты.

В этой статье описывается, как установить и настроить WinDbg.

WinDbg использует два типа файлов конфигурации:

  • Рабочие области хранят параметры WinDbg, такие как тема, макет окна, пути символов, исходные пути и другие параметры конфигурации. Файлы рабочей области используют расширение .xml и хранятся по умолчанию в %LOCALAPPDATA%\DBG\Workspaces. Параметры автоматически сохраняются в файле рабочей области по умолчанию (%LOCALAPPDATA%\DBG\DbgX.xml) при закрытии WinDbg.

  • Сохраненные сеансы отладки хранят сведения о целевом подключении (например, какой файл дампа открыть или к какому процессу подключиться) вместе с пер-сессионными параметрами движка. Файлы сеансов отладки используют расширение .debugtarget и хранятся по умолчанию в %LOCALAPPDATA%\DBG\Targets. Эти файлы отображаются в списке последних целевых объектов на странице начальной отладки .

Настройки

Используйте меню "Параметры" , чтобы задать такие элементы, как путь к источнику и символу. Вы также можете выбрать тему для WinDbg. Доступные режимы темы:

  • Система — соответствует параметру системной темы Windows (по умолчанию).
  • Свет — использует светлую тему.
  • Dark — использует темную тему.

Снимок экрана: меню параметров WinDbg, отображающее вкладку

В настоящее время существует шесть диалогов параметров :

  • Общие сведения
  • Командное окно
  • Параметры отладки
  • Окна дизассемблера
  • События и исключения
  • Окно источника

Дополнительные сведения о настройке путей см. в разделе "Путь к символам" для отладчика Windows и отладки исходного кода в WinDbg (классическая модель).

Пространства для работы

Рабочие области сохраняют параметры WinDbg, такие как тема, макет окна, пути символов, исходные пути и другие параметры конфигурации, в файл.

Сохранение и загрузка рабочих областей

С помощью меню "Файл " можно управлять рабочими областями:

  • Сохранить рабочую область. Сохраняет текущие параметры в активном файле рабочей области.
  • Сохраните рабочую область как — сохраняет текущие параметры в новый файл рабочей области.
  • Откройте рабочую область . Загружает параметры из ранее сохраненного файла рабочей области.

Параметры также сохраняются автоматически при закрытии отладчика, если автоматическое сохранение не было отключено с параметром командной -Q строки.

Параметры командной строки рабочей области

Для управления поведением рабочей области можно использовать следующие параметры командной строки:

  • -Q — отключает автоматическое сохранение параметров. Изменения параметров сохраняются только при явном нажатии кнопки "Сохранить рабочую область " или "Сохранить рабочую область" в меню "Файл ".
  • -WF SettingsFile — загружает параметры из указанного файла рабочей области при запуске.

Сохраненные сеансы отладки

Сохраненные сеансы отладки хранят сведения о целевом подключении вместе с параметрами обработчика сеансов. Файлы сеансов отладки имеют расширение .debugtarget и по умолчанию хранятся в %LOCALAPPDATA%\DBG\Targets.

Сохранение и загрузка сеансов отладки

Сеансы отладки можно управлять с помощью меню "Файл" и командной строки:

  • Сохранение сеанса отладки — сохраняет текущие сведения о целевом подключении к файлу .debugtarget . Этот параметр доступен только в том случае, если целевой объект отладки активен.
  • Последние целевые объекты . На странице запуска отладки выберите ранее сохраненный сеанс отладки из списка последних целевых объектов, чтобы перезагрузить его.
  • -loadSession — загружает сохраненный файл конфигурации сеанса отладки из командной строки.

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

Помимо сведений о целевом подключении, следующие параметры хранятся в сохраненном файле сеанса отладки (.debugtarget расширение файла).

Общие параметры

Замечание

Этот список и формат не является окончательным и подлежит изменению.

Настройки По умолчанию Описание
FinalBreak true Если true, игнорирует окончательную точку останова (-g параметр командной строки).
SourceDebugging true Переключается между режимом источника или сборки.
DebugChildProcesses false (Только в пользовательском режиме.) Если trueвыполняет отладку дочерних процессов, запущенных целевым приложением (-o параметр командной строки).
Noninvasive false Указывает неинвазивное подключение (-pv параметр командной строки).
NoDebugHeap false Указывает, что отладочная куча не должна использоваться (-hd параметр командной строки).
Verbose false При активированном режиме подробного вывода, производит более детализированный вывод (параметр командной строки -v) для некоторых команд отображения (таких как дамп регистров).
Elevate - Внутренне используется в WinDbg. Не изменяйте.
Restartable - Внутренне используется в WinDbg. Не изменяйте.
UseImplicitCommandLine false Использует неявную командную строку (-cimp параметр командной строки). Этот параметр запускает отладчик с неявной командной строкой вместо явного процесса для выполнения.

Дополнительные сведения о параметрах командной строки см. в разделе "Параметры командной строки WinDbg".

Параметры символов

Настройки По умолчанию Описание
SymbolOptionsOverride 0 Маска параметра для явного выбора символов представлена в виде одного шестнадцатеричного числа.
ShouldOverrideSymbolOptions false Если установлено значение true, все параметры символов, перечисленные в этой таблице, будут переопределены с использованием полученной маски параметров символов, которая описана в предыдущей таблице.
SymOptExactSymbols false Этот параметр приводит к тому, что отладчик выполняет строгую оценку всех файлов символов.
SymOptFailCriticalErrors false Опция символа приводит к подавлению диалоговых окон ошибок доступа к файлам.
SymOptIgnoreCvRec false Этот параметр приводит к тому, что обработчик символов игнорирует запись CV в загруженном заголовке изображения при поиске символов.
SymOptIgnoreNtSympath false Этот параметр приводит к тому, что отладчик игнорирует параметры переменной среды для пути символа и пути к исполняемому изображению.
SymOptNoCpp false Этот параметр символа отключает перевод C++. Если этот параметр символа задан, __ заменяет :: во всех символах.
SymOptNoUnqualifiedLoads false Этот параметр символа отключает автоматическую загрузку модулей обработчика символов. Если этот параметр задан, отладчик пытается сопоставить символ. Он выполняет поиск только модулей, которые уже загружены.
SymOptAutoPublics false Этот параметр символа приводит к тому, что DbgHelp будет выполнять поиск в таблице открытых символов в PDB-файле только в качестве последнего способа. Если при поиске данных частного символа обнаружены какие-либо совпадения, открытые символы не исследуются. Этот параметр повышает скорость поиска символов.
SymOptDebug false Этот параметр символа включает загрузку шумных символов. Этот параметр указывает отладчику отображать сведения о поиске символов.

Дополнительные сведения о параметрах символов см. в разделе "Параметры символов".

XML-файл сеанса отладки

Сведения о целевом подключении сеанса отладки хранятся в формате XML с файловым расширением .debugtarget.

В следующем файле показан пример файла конфигурации сеанса отладки.

<?xml version="1.0" encoding="utf-8"?>
<TargetConfig Name="C:\paint.dmp" LastUsed="2017-08-03T21:34:20.1013837Z">
  <EngineConfig />
  <EngineOptions>
    <Property name="FinalBreak" value="true" />
    <Property name="SourceDebugging" value="true" />
    <Property name="DebugChildProcesses" value="false" />
    <Property name="Noninvasive" value="false" />
    <Property name="NoDebugHeap" value="false" />
    <Property name="Verbose" value="false" />
    <Property name="SymbolOptionsOverride" value="0" />
    <Property name="ShouldOverrideSymbolOptions" value="false" />
    <Property name="SymOptExactSymbols" value="false" />
    <Property name="SymOptFailCriticalErrors" value="false" />
    <Property name="SymOptIgnoreCvRec" value="false" />
    <Property name="SymOptIgnoreNtSympath" value="false" />
    <Property name="SymOptNoCpp" value="false" />
    <Property name="SymOptNoUnqualifiedLoads" value="false" />
    <Property name="SymOptAutoPublics" value="false" />
    <Property name="SymOptDebug" value="false" />
    <Property name="Elevate" value="false" />
    <Property name="Restartable" value="true" />
    <Property name="UseImplicitCommandLine" value="false" />
  </EngineOptions>
  <TargetOptions>
    <Option name="OpenDump">
      <Property name="DumpPath" value="C:\paint.dmp" />
    </Option>
  </TargetOptions>
</TargetConfig>

Этот формат файла продолжает развиваться по мере добавления дополнительных функций в WinDbg.