Отладка временных путешествий — устранение неполадок
В этом разделе описывается, как устранять неполадки трассировок перемещения по времени.
Проблемы, пытающиеся записать процесс
Я получаю сообщение об ошибке с сообщением "WinDbg необходимо запустить с повышенными привилегиями для поддержки отладки времени перемещения"
Как указано в сообщении, выполнение отладчика с повышенными привилегиями является обязательным. Чтобы запустить отладчик с повышенными привилегиями, щелкните правой кнопкой мыши значок WinDbg в меню "Пуск" и выберите "Дополнительно>запустить от имени администратора".
Я установил WinDbg с учетной записью, которая не имеет прав администратора, и я получаю сообщение об ошибке, которое говорит: "WinDbg необходимо запустить с повышенными привилегиями для поддержки отладки времени путешествия".
Повторно установите WinDbg с помощью учетной записи, которая имеет права администратора и использует эту учетную запись при записи в отладчике.
Не удается запустить и записать приложение UWP
Это не поддерживается в настоящее время, но вы можете подключиться и записать уже работающее приложение UWP.
Не удается записать необычный тип процесса — выполнение в другом сеансе, контексте безопасности, учетных данных...
В настоящее время TTD записывает только обычные процессы, которые можно запустить из командной консоли или щелкнув исполняемый файл или ярлык в проводнике Windows.
Не удается успешно записать приложение на компьютере
Если запись приложения завершается ошибкой, убедитесь, что вы можете записать простой процесс Windows. Например, "ping.exe" или "cmd.exe" — это простые процессы, которые обычно могут быть записаны.
Я не могу успешно записать все на моем компьютере
Запись TTD — это инвазивная технология, которая может повлиять на другие инвазивные технологии, такие как платформы виртуализации приложений, продукты управления информацией, программное обеспечение безопасности или антивирусные продукты.
Сведения о известных несовместимости TTD см. в разделе "Вещи для поиска" в отладке временных путешествий.
Я отслеживаю приложение и запускаю AppVerifier одновременно, а производительность при повторной отправке трассировки замедляется.
Из-за того, как AppVerifier использует память для проверки приложения, интерфейс позже при повторной отправке трассировки может быть заметно хуже, чем без AppVerifier. Чтобы повысить производительность, отключите AppVerifier при записи приложения. Если это невозможно, может потребоваться закрыть окно вызова в WinDbg, чтобы повысить производительность.
Проблемы с . Файлы индексов IDX
Отладка файла трассировки без файла индекса или с поврежденным или неполным файлом индекса возможна, но не рекомендуется. Файл индекса необходим, чтобы убедиться, что значения памяти, считываемые из отлаживаемого процесса, наиболее точны и для повышения эффективности всех других операций отладки.
!index -status
Используйте команду для проверки состояния объекта. Файл индекса IDX, связанный с . ЗАПУСК файла трассировки.
Если вы можете попытаться восстановить файл индекса, выполнив команду !index -force
.
Повторное восстановление . Файл индекса IDX
Если вы подозреваете и выдаете файл индекса или !index -status
говорите что-либо, отличное от загруженного файла индекса, повторно создайте его.
Для этого можно запустить !index -force
. Если это завершается ошибкой:
- Закройте отладчик.
- Удалите существующий файл IDX, он будет иметь то же имя, что и файл. ВЫПОЛНИТЕ файл трассировки и находится в том же каталоге, что и файл трассировки. Run file is.
- Откройте трассировку. RUN-файл в WinDbg. Эта команда будет выполняться
!index
для повторного создания индекса. - Используйте команду, чтобы убедиться,
!index -status
что индекс трассировки работает.
Убедитесь, что для файла индекса достаточно места в том же расположении, где находится файл трассировки. В зависимости от содержимого записи индексный файл может быть значительно больше, чем файл трассировки, как правило, в порядке в два раза больше.
Проблемы с трассировкой. RUN Files
При возникновении проблем с трассировкой. RUN-файл может получать сообщения об ошибках, такие как эти.
Replay and log are out of sync at fallback data. Packet type is incorrect "Packet Type"
Replay and log are out of sync at opaque data. Log had already reached the end
Replay exit thread event does not match up with logged event
Logged debug write values are out of sync with replay
В большинстве случаев все сообщения об ошибках указывают на то, что . Файл трассировки RUN недоступен и должен быть повторно записан.
Повторная запись приложения пользовательского режима
Если возникла определенная проблема с записью приложения в режиме пользователя, может потребоваться попробовать записать другое приложение на одном компьютере или попробовать одно и то же приложение на другом компьютере. Вы можете попробовать и записать другое использование приложения, чтобы узнать, существует ли определенная проблема с записью определенных частей приложения.
При отладке или создании индекса отображаются сообщения о событиях устранения ошибок.
Возможно, вы увидите такие сообщения:
Derailment event MissingDataDerailment(7) on UTID 2, position 2A550B:108 with PC 0x7FFE5EEB4448 Request address: 0x600020, size: 32
TTD работает путем запуска эмулятора внутри отладчика, который выполняет инструкции отлаживаемого процесса, чтобы реплицировать состояние этого процесса на каждой позиции записи. Сбои происходят, когда этот эмулятор наблюдает некоторое несоответствие между результирующей состоянием и информацией, найденной в файле трассировки. Ошибка, указанная выше, например, ссылается на инструкцию, найденную в расположении 0x7FFE5EEB4448, в позиции 2A550B:108 в трассировке, которая пыталась считывать некоторую память вокруг расположения 0x600020, которая не существует в записи.
Сбои часто возникают из-за некоторых ошибок в записывателье или иногда в эмуляторе, при некоторых записанных инструкциях обратно в трассировке.
В большинстве случаев это сообщение об ошибке указывает на то, что . Файл трассировки RUN будет иметь разрыв в потоке, который сошел с рельсов, начиная с точки, когда он сорвали, для некоторого неопределенного количества инструкций. Если событие, интересующее вас, не произошло во время этого разрыва, трассировка может быть пригодна. Если во время этого разрыва произошло событие интереса, трассировка должна быть повторно записана.