WinDbg: Pengaturan, ruang kerja, dan sesi debug yang disimpan

logo WinDbg dengan kaca pembesar yang memeriksa bit.

Artikel ini menjelaskan cara menyiapkan dan mengonfigurasi WinDbg.

WinDbg menggunakan dua jenis file konfigurasi:

  • Ruang kerja menyimpan pengaturan WinDbg Anda, seperti tema, tata letak jendela, jalur simbol, jalur sumber, dan opsi konfigurasi lainnya. File ruang kerja menggunakan .xml ekstensi dan disimpan secara default di %LOCALAPPDATA%\DBG\Workspaces. Pengaturan secara otomatis disimpan ke file ruang kerja default (%LOCALAPPDATA%\DBG\DbgX.xml) saat Anda menutup WinDbg.

  • Sesi debug tersimpan menyimpan informasi koneksi target (seperti file cadangan mana yang akan dibuka atau proses mana yang akan dilampirkan) bersama dengan opsi mesin per sesi. File sesi debug menggunakan .debugtarget ekstensi dan disimpan secara default di %LOCALAPPDATA%\DBG\Targets. File-file ini muncul di daftar Target terbaru di halaman Mulai penelusuran kesalahan .

Pengaturan

Gunakan menu Pengaturan untuk mengatur item seperti sumber dan jalur simbol. Anda juga dapat memilih tema untuk WinDbg. Mode tema yang tersedia adalah:

  • Sistem - Mengikuti pengaturan tema sistem Windows (default).
  • Cahaya - Menggunakan tema cahaya.
  • Gelap - Menggunakan tema gelap.

Cuplikan layar menu Pengaturan WinDbg yang menampilkan tab Umum.

Saat ini ada enam dialog Pengaturan :

  • Umum
  • Jendela perintah
  • Pengaturan debug
  • Membongkar jendela
  • Kejadian & pengecualian
  • Jendela sumber

Untuk informasi selengkapnya tentang mengatur jalur, lihat Jalur simbol untuk debugger Windows dan Debugging kode sumber di WinDbg (Klasik).

Ruang kerja

Ruang kerja menyimpan pengaturan WinDbg Anda, seperti tema, tata letak jendela, jalur simbol, jalur sumber, dan opsi konfigurasi lainnya, ke file.

Menyimpan dan memuat ruang kerja

Anda dapat mengelola ruang kerja melalui menu File :

  • Simpan ruang kerja - Menyimpan pengaturan saat ini ke file ruang kerja aktif.
  • Simpan ruang kerja sebagai - Menyimpan pengaturan saat ini ke file ruang kerja baru.
  • Buka ruang kerja - Memuat pengaturan dari file ruang kerja yang disimpan sebelumnya.

Pengaturan juga disimpan secara otomatis saat Anda menutup debugger, kecuali penyimpanan otomatis telah dinonaktifkan dengan -Q opsi baris perintah.

Opsi baris perintah ruang kerja

Anda dapat menggunakan opsi baris perintah berikut untuk mengontrol perilaku ruang kerja:

  • -Q - Menonaktifkan penyimpanan pengaturan secara otomatis. Perubahan pengaturan hanya dipertahankan saat Anda secara eksplisit memilih Simpan ruang kerja atau Simpan ruang kerja sebagai dari menu File .
  • -WF SettingsFile - Memuat pengaturan dari file ruang kerja yang ditentukan saat startup.

Sesi debug tersimpan

Sesi debug yang disimpan menyimpan informasi koneksi target Anda bersama dengan opsi mesin per sesi. File sesi debug menggunakan .debugtarget ekstensi dan disimpan secara default di %LOCALAPPDATA%\DBG\Targets.

Menyimpan dan memuat sesi debug

Anda dapat mengelola sesi debug melalui menu File dan baris perintah:

  • Simpan sesi debug - Menyimpan informasi koneksi target saat ini ke .debugtarget file. Opsi ini hanya tersedia saat target debug aktif.
  • Target Terbaru - Pada halaman Mulai Debugging, pilih sesi debug yang disimpan sebelumnya dari daftar target terbaru untuk memuat ulang.
  • -loadSession - Memuat file konfigurasi sesi debug yang disimpan dari baris perintah.

Pengaturan sesi debug

Selain informasi koneksi target, pengaturan berikut disimpan dalam file sesi debug tersimpan (.debugtarget ekstensi file).

Pengaturan umum

Nota

Daftar dan format ini tidak final dan dapat berubah.

Pengaturan Bawaan Deskripsi
FinalBreak true Jika true, mengabaikan titik henti akhir (-g opsi baris perintah).
SourceDebugging true Beralih antara mode sumber atau rakitan.
DebugChildProcesses false (Hanya dalam mode pengguna.) Jika true, melakukan debug terhadap proses turunan yang dimulai oleh aplikasi target (-o opsi dari baris perintah).
Noninvasive false Menentukan lampiran noninvasif (-pv opsi baris perintah).
NoDebugHeap false Menentukan heap debug tidak digunakan (-hd opsi baris perintah).
Verbose false Ketika mode verbose diaktifkan, menyediakan output yang lebih terperinci (-v opsi baris perintah) untuk beberapa perintah tampilan (seperti pembuangan register).
Elevate - Digunakan secara internal oleh WinDbg. Jangan ubah.
Restartable - Digunakan secara internal oleh WinDbg. Jangan ubah.
UseImplicitCommandLine false Menggunakan baris perintah implisit (-cimp opsi baris perintah). Pengaturan ini memulai debugger dengan baris perintah implisit alih-alih proses eksplisit untuk dijalankan.

Untuk informasi selengkapnya tentang opsi baris perintah, lihat Opsi baris perintah WinDbg.

Pengaturan simbol

Pengaturan Bawaan Deskripsi
SymbolOptionsOverride 0 Masker opsi simbol eksplisit ini dalam bentuk satu angka hex.
ShouldOverrideSymbolOptions false Jika diatur ke true, menggantikan semua opsi simbol yang tercantum dalam tabel ini dengan mask opsi simbol yang disediakan, yang dijelaskan dalam tabel sebelumnya.
SymOptExactSymbols false Opsi ini menyebabkan debugger melakukan evaluasi ketat dari semua file simbol.
SymOptFailCriticalErrors false Opsi simbol ini menyebabkan kotak dialog kesalahan akses file tidak ditampilkan.
SymOptIgnoreCvRec false Opsi ini menyebabkan handler simbol mengabaikan rekaman CV di header gambar yang dimuat saat mencari simbol.
SymOptIgnoreNtSympath false Opsi ini menyebabkan debugger mengabaikan pengaturan variabel lingkungan untuk jalur simbol dan jalur gambar yang dapat dieksekusi.
SymOptNoCpp false Opsi simbol ini menonaktifkan terjemahan C++. Ketika opsi simbol ini diatur, __ menggantikan :: dalam semua simbol.
SymOptNoUnqualifiedLoads false Opsi simbol ini menonaktifkan pemuatan otomatis modul dari handler simbol. Ketika opsi ini diatur, debugger mencoba mencocokkan simbol. Ini hanya mencari modul yang sudah dimuat.
SymOptAutoPublics false Opsi simbol ini menyebabkan DbgHelp mencari tabel simbol publik dalam file .pdb hanya sebagai upaya terakhir. Jika ada kecocokan yang ditemukan saat mencari data simbol privat, simbol publik tidak dicari. Pengaturan ini meningkatkan kecepatan pencarian simbol.
SymOptDebug false Opsi simbol ini mengaktifkan pemuatan simbol bising. Pengaturan ini menginstruksikan debugger untuk menampilkan informasi tentang pencarian simbolnya.

Untuk informasi selengkapnya tentang opsi simbol, lihat Opsi simbol.

File XML sesi debug

Informasi koneksi target sesi debug disimpan dalam format XML dengan ekstensi file .debugtarget.

File berikut menunjukkan contoh file konfigurasi sesi debug.

<?xml version="1.0" encoding="utf-8"?>
<TargetConfig Name="C:\paint.dmp" LastUsed="2017-08-03T21:34:20.1013837Z">
  <EngineConfig />
  <EngineOptions>
    <Property name="FinalBreak" value="true" />
    <Property name="SourceDebugging" value="true" />
    <Property name="DebugChildProcesses" value="false" />
    <Property name="Noninvasive" value="false" />
    <Property name="NoDebugHeap" value="false" />
    <Property name="Verbose" value="false" />
    <Property name="SymbolOptionsOverride" value="0" />
    <Property name="ShouldOverrideSymbolOptions" value="false" />
    <Property name="SymOptExactSymbols" value="false" />
    <Property name="SymOptFailCriticalErrors" value="false" />
    <Property name="SymOptIgnoreCvRec" value="false" />
    <Property name="SymOptIgnoreNtSympath" value="false" />
    <Property name="SymOptNoCpp" value="false" />
    <Property name="SymOptNoUnqualifiedLoads" value="false" />
    <Property name="SymOptAutoPublics" value="false" />
    <Property name="SymOptDebug" value="false" />
    <Property name="Elevate" value="false" />
    <Property name="Restartable" value="true" />
    <Property name="UseImplicitCommandLine" value="false" />
  </EngineOptions>
  <TargetOptions>
    <Option name="OpenDump">
      <Property name="DumpPath" value="C:\paint.dmp" />
    </Option>
  </TargetOptions>
</TargetConfig>

Format file ini terus berkembang karena lebih banyak fitur ditambahkan ke WinDbg.