Bagikan melalui


Penelusuran Kesalahan Perjalanan Waktu - Pemecahan Masalah

Logo penelusuran kesalahan perjalanan waktu yang menampilkan jam.

Bagian ini menjelaskan cara memecahkan masalah jejak perjalanan waktu.

Masalah saat mencoba merekam proses

Saya mendapatkan pesan kesalahan yang mengatakan "WinDbg harus dijalankan ditinggikan untuk mendukung Penelusuran Kesalahan Perjalanan Waktu"

Seperti yang ditunjukkan oleh pesan, menjalankan debugger yang ditingkatkan adalah persyaratan. Untuk menjalankan debugger yang ditinggikan, klik kanan pada ikon WinDbg di menu mulai lalu pilih Lebih Banyak>Jalankan sebagai Administrator.

Saya menginstal WinDbg dengan akun yang tidak memiliki hak istimewa administrator dan saya mendapatkan pesan kesalahan yang mengatakan "WinDbg harus dijalankan ditinggikan untuk mendukung Debugging Perjalanan Waktu"

Instal ulang WinDbg menggunakan akun yang memiliki hak istimewa administrator dan gunakan akun tersebut saat merekam di debugger.

Saya tidak dapat meluncurkan dan merekam aplikasi UWP

Ini tidak didukung saat ini, tetapi Anda dapat melampirkan dan merekam aplikasi UWP yang sudah berjalan.

Saya tidak dapat merekam nama sisipan jenis proses yang <tidak biasa - berjalan di sesi lain, konteks keamanan, kredensial...> proses

Saat ini, TTD hanya merekam proses reguler yang biasanya dapat Anda luncurkan dari konsol perintah atau dengan mengklik executable atau pintasan di Windows Explorer.

Saya tidak berhasil merekam aplikasi saya di komputer saya

Jika perekaman aplikasi Anda gagal, verifikasi bahwa Anda dapat merekam proses Windows sederhana. Misalnya, "ping.exe" atau "cmd.exe" adalah proses sederhana yang biasanya dapat direkam.

Saya tidak berhasil merekam apa pun di komputer saya

Perekaman TTD adalah teknologi invasif, yang dapat mengganggu teknologi invasif lainnya seperti kerangka kerja virtualisasi aplikasi, produk manajemen informasi, perangkat lunak keamanan atau produk antivirus.

Lihat "Hal-hal yang perlu diwaspadai" dalam Penelusuran Kesalahan Perjalanan Waktu - Gambaran Umum untuk informasi tentang ketidaksesamaan TTD yang diketahui.

Saya melacak aplikasi dan menjalankan AppVerifier secara bersamaan, dan performa saat memutar ulang jejak lambat.

Karena cara AppVerifier menggunakan memori untuk memeriksa aplikasi, pengalaman nanti ketika memutar ulang jejak dapat terlihat lebih buruk daripada tanpa AppVerifier. Untuk meningkatkan performa, nonaktifkan AppVerifier saat merekam aplikasi. Jika ini tidak memungkinkan, Anda mungkin perlu menutup jendela callstack di WinDbg untuk meningkatkan performa.

Masalah dengan . File indeks IDX

Men-debug file pelacakan tanpa file indeks, atau dengan file indeks yang rusak atau tidak lengkap, dimungkinkan, tetapi tidak disarankan. File indeks diperlukan untuk memastikan bahwa nilai memori yang dibaca dari proses debug paling akurat, dan untuk meningkatkan efisiensi semua operasi penelusuran kesalahan lainnya.

!index -status Gunakan perintah untuk memeriksa status . File indeks IDX yang terkait dengan . JALANKAN file pelacakan.

Jika Anda dapat mencoba membuat ulang file indeks dengan menjalankan !index -force.

Membuat ulang . File indeks IDX

Jika Anda mencurigai dan mengeluarkan file indeks, atau !index -status mengatakan apa pun selain "File indeks dimuat", buat ulang. Untuk melakukan ini, Anda dapat menjalankan !index -force. Jika itu gagal:

  1. Tutup debugger.
  2. Hapus file IDX yang ada, itu akan memiliki nama yang sama dengan . JALANKAN file pelacakan dan terletak di direktori yang sama dengan . Run file adalah.
  3. Buka jejak . JALANKAN file di WinDbg. Ini akan menjalankan !index perintah untuk membuat ulang indeks.
  4. !index -status Gunakan perintah untuk mengonfirmasi bahwa indeks pelacakan berfungsi.

Pastikan bahwa ada cukup ruang untuk file indeks di lokasi yang sama tempat file pelacakan berada. Tergantung pada konten rekaman, file indeks mungkin jauh lebih besar dari file jejak, biasanya pada urutan dua kali lebih besar.

Masalah dengan Lacak . RUN Files

Ketika ada masalah dengan jejak . JALANKAN file, Anda mungkin menerima pesan kesalahan seperti ini.

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

Dalam kebanyakan kasus, semua pesan kegagalan menunjukkan bahwa . File pelacakan RUN tidak dapat digunakan dan harus direkam ulang.

Merekam ulang aplikasi mode pengguna

Jika ada masalah tertentu dengan merekam aplikasi mode pengguna, Anda mungkin ingin mencoba merekam aplikasi lain pada PC yang sama, atau mencoba aplikasi yang sama di PC yang berbeda. Anda mungkin ingin mencoba dan merekam penggunaan aplikasi yang berbeda untuk melihat apakah ada masalah tertentu dengan merekam bagian tertentu dari aplikasi.

Saat men-debug atau membuat indeks, saya melihat pesan tentang "Peristiwa penggangguan".

Ada kemungkinan bahwa Anda mungkin melihat pesan seperti ini:

Derailment event MissingDataDerailment(7) on UTID 2, position 2A550B:108 with PC 0x7FFE5EEB4448 Request address: 0x600020, size: 32

TTD bekerja dengan menjalankan emulator di dalam debugger, yang menjalankan instruksi proses debugged untuk mereplikasi status proses tersebut di setiap posisi dalam rekaman. Penggagalan terjadi ketika emulator ini mengamati semacam perbedaan antara status yang dihasilkan dan informasi yang ditemukan dalam file jejak. Kesalahan yang dikutip di atas, misalnya, mengacu pada instruksi yang ditemukan di lokasi 0x7FFE5EEB4448, pada posisi 2A550B:108 dalam jejak, yang mencoba membaca beberapa memori di sekitar lokasi 0x600020, yang tidak ada dalam rekaman.

Penggagalan sering disebabkan oleh beberapa kesalahan di perekam, atau kadang-kadang di emulator, pada beberapa instruksi yang direkam lebih jauh kembali ke jejak.

Dalam kebanyakan kasus, pesan kegagalan ini menunjukkan bahwa . File pelacakan RUN akan memiliki celah di utas yang terganggu, dimulai pada titik yang dipisahkannya, untuk beberapa instruksi yang tidak ditentukan. Jika peristiwa minat yang Anda coba debug tidak terjadi selama kesenjangan tersebut, jejak mungkin dapat digunakan. Jika peristiwa minat terjadi selama kesenjangan itu, jejak perlu direkam ulang.

Lihat juga

Penelusuran Kesalahan Perjalanan Waktu - Gambaran Umum