Отладка исходного кода в WinDbg (классическая модель)
Исходный путь
Исходный путь указывает каталоги, в которых находятся исходные файлы C и C++. Дополнительные сведения о просмотре исходного кода в отладчике см. в разделе Путь к источнику.
Примечание Если вы подключены к корпоративной сети, наиболее эффективным способом доступа к исходным файлам является использование исходного сервера. Исходный сервер можно использовать с помощью строки srv* в исходном пути. Дополнительные сведения об исходных серверах см. в разделе Использование исходного сервера.
Чтобы управлять исходным путем в WinDbg, выполните одно из следующих действий.
Выберите Путь к исходному файлу в меню Файл или нажмите клавиши CTRL+P.
Используйте команду .srcpath (Задать путь к источнику). Если вы используете исходный сервер, SRCFIX (Использовать исходный сервер) немного проще.
Используйте команду .lsrcpath (Задать путь к локальному источнику). Если вы используете исходный сервер, .lsrcfix (Use Local Source Server) немного проще.
При запуске отладчика используйте параметр командной строки -srcpath или -lsrcpath . См . раздел Параметры Command-Line WinDbg.
Перед запуском отладчика задайте переменную среды _NT_SOURCE_PATH.
Открытие и закрытие исходных файлов
Чтобы открыть или закрыть исходный файл напрямую, выполните одно из указанных ниже действий.
Выберите Файл с открытым кодом в меню Файл или нажмите клавиши CTRL+O. Вы также можете использовать кнопку Open Source file (
Примечание При использовании меню или кнопки панели инструментов для открытия исходного файла путь к нему автоматически добавляется.
Выберите Закрыть текущее окно в меню Файл .
Нажмите кнопку Закрыть в углу окна Источник.
Выберите Последние файлы в меню Файл , чтобы открыть один из четырех исходных файлов, которые вы недавно открыли в 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 (тип отображения). Чтобы отключить эту оценку, выберите Параметры в меню Вид . Затем снимите флажок Оценить при наведении проверка.
См. также раздел
Дополнительные сведения об отладке исходного кода и связанных командах см. в разделе Отладка в исходном режиме.