Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как записывать трассировки отладки по времени (TTD). Существует два способа записи трассировки в WinDbg: Запуск исполняемого файла (расширенный режим) и Подключение к процессу.
Запуск исполняемого файла (дополнительно)
Чтобы запустить исполняемый файл и записать трассировку TTD, выполните следующие действия.
В WinDbg выберите "Запуск запуска>файла"для запуска исполняемого файла> (дополнительно).
Введите путь к исполняемому файлу в пользовательском режиме, который вы хотите записать, или нажмите кнопку "Обзор ", чтобы перейти к исполняемому файлу. Сведения о работе с меню "Запуск исполняемого файла" в WinDbg см. в статье "Запуск сеанса в режиме пользователя".
Установите флажок «Запись с отладкой с перемещением во времени», чтобы зафиксировать трассировку при запуске исполняемого файла.
Если выбрать "Настроить" и "Запись ", вы сможете настроить расположение для файла трассировки.
Чтобы ограничить запись определенными модулями, установите флажок "Запись подмножества выполнения" и введите имена модулей. Например, если требуется записать только выполнение notepad.exe, в текстовом поле введите "notepad.exe". Если вы хотите записать выполнение notepad.exe и kernelbase.dll, в текстовом поле введите "notepad.exe,kernelbase.dll".
Нажмите кнопку "ОК ", чтобы запустить исполняемый файл и начать запись.
Откроется диалоговое окно записи, показывающее, что трассировка записывается.
Узнайте , как записать сведения о записи.
Присоединение к процессу
Чтобы подключиться к процессу и записать трассировку TTD, выполните следующие действия.
В WinDbg выберите Файл>Начать отладку>Подключиться к процессу.
Выберите процесс пользовательского режима, который требуется трассировать. Сведения о работе с подключением к меню процесса в WinDbg см. в статье WinDbg — запуск сеанса в пользовательском режиме.
Установите флажок "Запись процесса с отладкой "Путешествие во времени", чтобы создать трассировку при запуске исполняемого файла.
Нажмите кнопку "Присоединить ", чтобы начать запись.
Откроется диалоговое окно записи, показывающее, что трассировка записывается.
См. Как записывать для получения информации о записи.
Как записывать
Процесс записывается, поэтому здесь необходимо вызвать проблему, которую вы хотите отлаживать. Вы можете открыть проблемный файл или выбрать определенную кнопку в приложении, чтобы вызвать событие, интересующее вас.
При отображении диалогового окна записи можно:
- Остановка и отладка . При выборе этого остановится запись, создайте файл трассировки и откройте файл трассировки, чтобы начать отладку.
- Отмена . При выборе это приведет к остановке записи и созданию файла трассировки. Файл трассировки можно открыть позже.
После завершения записи закройте приложение или нажмите клавишу Stop и debug.
Примечание.
Как остановка, так и отладка, иотмена завершают связанный процесс.
После завершения записи приложения файл трассировки будет закрыт и записан на диск. Это происходит, если ваша программа также завершится сбоем.
При открытии файла трассировки отладчик автоматически индексует файл трассировки. Индексирование обеспечивает более точный и быстрый поиск значений памяти. Этот процесс индексирования займет больше времени для больших файлов трассировки.
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.
Примечание.
Ключевой кадр — это точка в трассировке, используемая для индексирования. Ключевые кадры создаются автоматически. Более крупные трассировки будут содержать больше ключевых кадров. При индексировании трассировки отображается количество ключевых кадров.
На этом этапе вы находитесь в начале файла трассировки и готовы к перемещению вперед и назад во времени.
Подсказка
Использование точек останова — это распространенный подход для приостановки выполнения кода на каком-то событии, интересующем вас. Особенность TTD в том, что вы можете установить точку останова и перемещаться назад во времени до тех пор, пока не достигнете этой точки после записи. Возможность проверить состояние процесса после того, как возникла проблема, чтобы определить оптимальное расположение точки останова, позволяет выполнять дополнительные рабочие процессы отладки. Для примера использования точки останова в прошлом, см. Отладка путешествия во времени — пошаговый обзор примера приложения.
Дальнейшие шаги
Теперь, когда вы записали трассировку TTD, вы можете воспроизвести её или работать с файлом трассировки, например, поделиться ею с коллегой. Дополнительные сведения см. в этих разделах.
Отладка перемещения по времени — воспроизведение трассировки
Отладка перемещения по времени — работа с файлами трассировки
Отладка с временным перемещением — устранение неполадок
Отладка перемещения по времени — пошаговое руководство по приложению