Menampilkan Tumpukan Panggilan di WinDbg (Klasik)

Tumpukan panggilan adalah rantai panggilan fungsi yang telah mengarah ke lokasi penghitung program saat ini. Fungsi teratas pada tumpukan panggilan adalah fungsi saat ini, fungsi berikutnya adalah fungsi yang memanggil fungsi saat ini, dan sebagainya. Tumpukan panggilan yang ditampilkan didasarkan pada penghitung program saat ini, kecuali Jika Anda mengubah konteks register. Untuk informasi selengkapnya tentang cara mengubah konteks register, lihat Mengubah Konteks.

Di WinDbg, Anda dapat melihat tumpukan panggilan dengan memasukkan perintah atau dengan menggunakan jendela Panggilan.

Jendela Perintah Debugger

Anda dapat melihat tumpukan panggilan dengan memasukkan salah satu perintah k (Display Stack Backtrace) di jendela Perintah Debugger.

Jendela Panggilan

Sebagai alternatif untuk perintah k , Anda dapat melihat tumpukan panggilan di jendela Panggilan. Untuk membuka jendela Panggilan, pilih Tumpukan Panggilan dari menu Tampilan .

Cuplikan layar berikut menunjukkan contoh jendela Panggilan.

Cuplikan layar jendela Panggilan di WinDbg.

Tombol di jendela Panggilan memungkinkan Anda menyesuaikan tampilan tumpukan panggilan. Untuk berpindah ke lokasi panggilan terkait di jendela Sumber atau jendela Disassembly, klik dua kali baris tumpukan panggilan, atau pilih garis dan tekan ENTER. Tindakan ini juga mengubah konteks lokal ke bingkai tumpukan yang dipilih. Untuk informasi selengkapnya tentang menjalankan ke atau dari titik ini, lihat Mengontrol Target.

Dalam mode pengguna, pelacakan tumpukan didasarkan pada tumpukan utas saat ini. Untuk informasi selengkapnya tentang tumpukan utas saat ini, lihat Mengontrol Proses dan Utas.

Dalam mode kernel, pelacakan tumpukan didasarkan pada konteks register saat ini. Anda dapat mengatur konteks register agar sesuai dengan utas, rekaman konteks, atau bingkai trap tertentu. Untuk informasi selengkapnya tentang mengatur konteks register, lihat Mendaftarkan Konteks.

Jendela Panggilan memiliki toolbar yang berisi beberapa tombol dan memiliki menu pintasan dengan perintah tambahan. Untuk mengakses menu ini, pilih dan tahan (atau klik kanan) bilah judul atau pilih ikon di dekat sudut kanan atas jendela (Cuplikan layar tombol yang menampilkan menu pintasan toolbar jendela Panggilan di WinDbg.

  • Argumen mentah menampilkan tiga parameter pertama yang diteruskan ke fungsi. Pada prosesor berbasis x86, tampilan ini mencakup tiga parameter pertama yang diteruskan ke fungsi ("Args to Child").

  • Info func menampilkan data Frame Pointer Omission (FPO) dan informasi internal lainnya tentang fungsi tersebut. Perintah ini hanya tersedia pada prosesor berbasis x86.

  • Sumber menampilkan nama modul sumber dan nomor baris setelah nama fungsi (jika debugger memiliki informasi ini).

  • Addr menampilkan berbagai alamat terkait bingkai. Pada prosesor berbasis x86, tampilan ini mencakup penunjuk dasar untuk bingkai tumpukan ("ChildEBP") dan alamat pengirim ("RetAddr").

  • Nomor bingkai menampilkan nomor bingkai. Bingkai selalu diberi nomor berturut-turut, dimulai dengan nol.

  • Jenis arg menampilkan informasi terperinci tentang argumen yang diharapkan dan diterima oleh fungsi dalam tumpukan.

  • Selalu mengambang menyebabkan jendela tetap tidak tertangguhkan meskipun diseret ke lokasi docking.

  • Pindahkan dengan bingkai menyebabkan jendela bergerak ketika bingkai WinDbg dipindahkan, bahkan jika jendela dilepas.

Informasi Tambahan

Untuk informasi selengkapnya tentang konteks pendaftaran dan konteks lokal, lihat Mengubah Konteks.