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


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

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

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

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

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

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

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

  • Выберите файл с открытым исходным кодом в меню "Файл " или нажмите клавиши CTRL+O. Вы также можете использовать кнопку "Файл с открытым исходным кодом " (снимок экрана: кнопка

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

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

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

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

  • Введите команду open (Open Source File).

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

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

Открытие окна источника

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

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

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

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

Использование окна источника

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

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

  • Задайте указатель инструкции на текущую строку , изменив значение указателя инструкции на инструкцию, соответствующую текущей строке. Эта команда эквивалентна использованию команды Правка | Установить текущую команду или нажмите 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++. Результат отображается в окне команды отладчика. Если выделенный текст содержит более одной строки, возникает синтаксическая ошибка. Эта команда эквивалентна использованию команды Правка | Оценить выделение, нажатию клавиш CTRL+SHIFT+V или команды ?? (Оценка выражения C++) с выделенным текстом в качестве аргумента.

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

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

  • Добавление выделения в окно "Наблюдение" добавляет выбранный исходный маркер в окно "Наблюдение".

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

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

Цвета исходного окна и оценка наведения указателя мыши

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

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

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

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

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

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

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

См. также

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