Отладка исходного кода в WinDbg (классическая модель)

Исходный путь

Исходный путь указывает каталоги, в которых находятся исходные файлы C и C++. Дополнительные сведения о просмотре исходного кода в отладчике см. в разделе Путь к источнику.

Примечание Если вы подключены к корпоративной сети, наиболее эффективным способом доступа к исходным файлам является использование исходного сервера. Исходный сервер можно использовать с помощью строки srv* в исходном пути. Дополнительные сведения об исходных серверах см. в разделе Использование исходного сервера.

Чтобы управлять исходным путем в WinDbg, выполните одно из следующих действий.

Открытие и закрытие исходных файлов

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

  • Выберите Файл с открытым кодом в меню Файл или нажмите клавиши CTRL+O. Вы также можете использовать кнопку Open Source file (Снимок экрана: кнопка Open Source File (Файл с открытым кодом) в WinDbg.

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

  • Выберите Закрыть текущее окно в меню Файл .

  • Нажмите кнопку Закрыть в углу окна Источник.

  • Выберите Последние файлы в меню Файл , чтобы открыть один из четырех исходных файлов, которые вы недавно открыли в WinDbg.

  • Введите команду .open (файл с открытым исходным кодом).

  • Введите команду lsf (загрузить или выгрузить исходный файл).

В WinDbg в окне Источник отображаются исходные файлы, загруженные в отладчик.

Открытие исходного окна

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

На следующем снимке экрана показан пример исходного окна.

Снимок экрана: окно

Каждый исходный файл находится в отдельном окне исходного кода. Заголовок каждого окна источника — это полный путь к исходному файлу.

Использование исходного окна

В каждом окне "Источник" отображается текст одного исходного файла. Невозможно изменить исходный файл в отладчике. Дополнительные сведения об изменении параметров шрифта и вкладок см. в разделе Изменение свойств текста.

В каждом окне источника есть контекстное меню с дополнительными командами. Чтобы открыть меню, выберите и удерживайте (или щелкните правой кнопкой мыши) строку заголовка или щелкните значок, который отображается в правом верхнем углу окна. В следующем списке описаны некоторые команды меню:

  • Установка указателя инструкции на текущую строку изменяет значение указателя инструкции на инструкцию, соответствующую текущей строке. Эта команда эквивалентна использованию команды Edit | Задайте команду Current Instruction или нажмите клавиши CTRL+SHIFT+I.

  • Изменить этот файл открывает исходный файл в текстовом редакторе. Редактор определяется данными реестра редактора WinDiff или значением переменной среды WINDBG_INVOKE_EDITOR. Например, рассмотрим случай, когда значение WINDBG_INVOKE_EDITOR является следующим.

    c:\my\path\myeditor.exe -file %f -line %l
    

    В этом случае Myeditor.exe откроется для однострочный номер текущего исходного файла. Параметр %l указывает, что номера строк должны считываться как однонационные, а %f указывает, что следует использовать текущий исходный файл. Другие возможности подстановки включают %L, который указывает, что номера строк основаны на нулях, и %p, что также может указывать на то, что следует использовать текущий исходный файл.

  • Вычисляет выделенный текст с помощью средства оценки выражений C++. Результат появится в окне Команда отладчика. Если выделенный текст содержит несколько строк, возникает синтаксическая ошибка. Эта команда эквивалентна использованию команды Edit | Команда "Оценить выделение ", нажатие клавиш CTRL+SHIFT+V или использование клавиши ?? (Оценка выражения C++) команда с выделенным текстом в качестве аргумента.

  • Отображение выбранного типа отображает тип данных выбранного объекта. Это окно отображается в окне Команда отладчика. Если выделенный текст содержит более одного объекта, может отображаться синтаксическая ошибка или другие неправильные результаты. Эта команда эквивалентна использованию команды Edit | Отображение команды "Выбранный тип" или нажатия клавиш CTRL+SHIFT+Y.

  • Открыть окно памяти для выбора открывает новое закрепленное окно память, в котором отображается память, начиная с адреса выбранного выражения.

  • Добавление выделения в окно Контрольные значения добавляет выбранный исходный маркер в окно Контрольные значения.

  • При дизассембле в текущей строке инструкция, соответствующая текущей строке, отображается в окне Дизассемблировать. Выделенная строка выделена в окне Источник и в окне Дизассемблировать, но эта команда влияет только на отображение— указатель инструкции не изменяется. Если окно дизассемблирования закрывается при выборе этой команды, оно открывается.

  • Выбор исходного языка отображает список языков программирования. Выберите язык программирования, который использовался для создания исходного файла, а затем нажмите кнопку ОК , чтобы включить выделение базового синтаксиса для текущего окна Источник. Выберите <Нет> , чтобы отключить выделение синтаксиса для текущего окна Источник.

Цвета исходного окна и оценка при наведении курсора

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

  • Чтобы отключить цвета синтаксиса в одном окне, откройте контекстное меню окна Исходный код, выберите Выбрать исходный язык, а затем — <Нет>.

  • Чтобы отключить цвета синтаксиса для всех исходных окон, выберите Параметры в меню Вид . Затем снимите флажок Синтаксический анализ исходных языков проверка.

  • Чтобы изменить цвета синтаксиса, выберите Параметры в меню Вид . Затем в области Цвета выберите элемент синтаксиса и нажмите кнопку Изменить , чтобы изменить цвет.

  • Метод синтаксического анализа, используемый для выделения, определяется языком программирования, связанным с расширением файла исходного файла. Чтобы изменить язык программирования, связанный с определенным расширением файла, используйте диалоговое окно Расширения файлов для исходных языков. Чтобы открыть это диалоговое окно, выберите в меню Видпункт Расширения файлов исходного языка.

Выделена строка, представляющая текущий счетчик программы. Также выделяются строки, на которых устанавливаются точки останова.

Если выбрать окно Источник и навести указатель мыши на символ в этом окне, будет вычисляться символ. Оценка аналогична оценке, созданной командой dt (тип отображения). Чтобы отключить эту оценку, выберите Параметры в меню Вид . Затем снимите флажок Оценить при наведении проверка.

См. также раздел

Дополнительные сведения об отладке исходного кода и связанных командах см. в разделе Отладка в исходном режиме.