Bagikan melalui


Menampilkan dan Mengedit Variabel Lokal di WinDbg (Klasik)

Di WinDbg, Anda dapat melihat variabel lokal dengan memasukkan perintah, dengan menggunakan jendela Lokal, atau dengan menggunakan jendela Watch.

Jendela Perintah Debugger

Anda dapat melihat variabel dan parameter lokal dengan memasukkan perintah dv atau perintah dt di jendela Perintah Debugger.

Membuka Jendela Lokal

Jendela Lokal menampilkan informasi tentang semua variabel lokal dalam cakupan saat ini.

Untuk membuka atau beralih ke jendela Lokal, di jendela WinDbg, pada menu Tampilan , pilih Lokal. (Anda juga dapat menekan ALT+3 atau memilih tombol Lokal pada toolbar. ALT+SHIFT+3 menutup jendela Lokal.)

Cuplikan layar berikut menunjukkan contoh jendela Lokals.

Cuplikan layar jendela Lokal di WinDbg.

Jendela Lokal dapat berisi empat kolom. Kolom Nama dan Nilai selalu ditampilkan, dan kolom Tipe dan Lokasi bersifat opsional. Untuk menampilkan kolom Tipe dan Lokasi , pilih tombol Typecast dan Lokasi , masing-masing, pada toolbar.

Menggunakan Jendela Lokal

Di jendela Lokal, Anda bisa melakukan hal berikut:

  • Kolom Nama menampilkan nama setiap variabel lokal. Jika variabel adalah struktur data, kotak centang muncul di samping namanya. Untuk memperluas atau menciutkan tampilan anggota struktur, pilih atau kosongkan kotak centang.

  • Kolom Nilai menampilkan nilai saat ini dari setiap variabel.

    • Untuk memasukkan nilai baru untuk variabel, klik dua kali nilai saat ini dan ketik nilai baru, atau edit nilai lama. (Perintah potong, salin, dan tempel tersedia untuk digunakan untuk pengeditan.) Anda dapat mengetik ekspresi C++ apa pun.
    • Untuk menyimpan nilai baru, tekan ENTER.
    • Untuk membuang nilai baru, tekan ESC.
    • Jika Anda mengetikkan nilai yang tidak valid, nilai lama akan muncul kembali saat Anda menekan ENTER.

    Bilangan bulat jenis int ditampilkan sebagai nilai desimal; bilangan bulat jenis UINT ditampilkan dalam basis saat ini. Untuk mengubah basis angka saat ini, gunakan perintah n (Atur Basis Angka) di jendela Perintah Debugger.

  • Kolom Jenis (jika ditampilkan di jendela Lokal) memperlihatkan jenis data saat ini dari setiap variabel. Setiap variabel ditampilkan dalam format yang tepat untuk jenis datanya sendiri. Struktur data memiliki nama tipe di kolom Type. Jenis variabel lain menampilkan "Masukkan jenis baru" di kolom ini.

    Jika Anda klik ganda pada "Masukkan jenis baru", Anda dapat mengubah jenis data dengan memasukkan jenis data yang baru. Penerapan tipe ini mengubah tampilan saat ini dari variabel ini hanya pada jendela Locals; tidak ada yang berubah di dalam debugger atau pada komputer sasaran. Selain itu, jika Anda memasukkan nilai baru di kolom Nilai, teks yang Anda masukkan akan diurai berdasarkan jenis simbol aktual, daripada jenis baru yang mungkin telah Anda masukkan di kolom Jenis. Jika Anda menutup dan membuka kembali jendela Lokal, Anda akan kehilangan perubahan jenis data.

    Anda juga dapat memasukkan perintah ekstensi di kolom Type. Debugger akan meneruskan alamat simbol ke ekstensi ini, dan akan menampilkan output yang dihasilkan dalam serangkaian baris yang dapat diciutkan di bawah baris saat ini. Misalnya, jika simbol dalam baris ini adalah alamat yang valid untuk blok lingkungan utas, Anda dapat memasukkan !teb di kolom Tipe untuk menjalankan ekstensi !teb pada alamat simbol ini.

  • Kolom Lokasi (jika ditampilkan di jendela Lokal) memperlihatkan offset setiap anggota struktur data.

  • Jika variabel lokal adalah instans kelas yang berisi Vtable, kolom Nama menampilkan Vtable, dan Anda dapat memperluas Vtable untuk menampilkan penunjuk fungsi. Jika Vtable terkandung dalam kelas dasar yang menunjuk ke implementasi turunan, notasi _vtcast_Class ditampilkan untuk menunjukkan anggota yang ditambahkan karena kelas turunan. Anggota ini berkembang seperti jenis kelas turunan.

  • Konteks lokal menentukan set variabel lokal mana yang akan ditampilkan di jendela Lokal. Saat konteks lokal berubah karena alasan apa pun, jendela Lokal diperbarui secara otomatis. Secara default, konteks lokal cocok dengan posisi penghitung program saat ini. Untuk informasi selengkapnya tentang cara mengubah konteks lokal, lihat Konteks Lokal.

Jendela Lokal memiliki bilah alat yang berisi dua tombol (Typecast dan Lokasi) dan menu pintasan dengan perintah tambahan. Untuk mengakses menu, pilih dan tahan (atau klik kanan) bilah judul jendela atau pilih ikon di dekat sudut kanan atas jendela. Bilah alat dan menu berisi tombol dan perintah berikut.

  • (Toolbar dan menu) Typecast mengaktifkan dan menonaktifkan tampilan kolom Jenis.

  • (Bilah alat dan menu) Lokasi mengaktifkan dan menonaktifkan tampilan kolom Lokasi.

  • (Hanya menu) #B0 Tampilkan nilai 16-bit sebagai Unicode #C1 menampilkan string Unicode di jendela ini. Perintah ini mengaktifkan dan menonaktifkan pengaturan global yang memengaruhi jendela Lokal, jendela Watch, dan output perintah debugger. Perintah ini setara dengan menggunakan perintah .enable_unicode (Aktifkan Tampilan Unicode).

  • (Hanya menu) Selalu tampilkan angka dalam radix default menyebabkan bilangan bulat ditampilkan dalam radiks default alih-alih menampilkannya dalam format desimal. Perintah ini mengaktifkan dan menonaktifkan pengaturan global yang memengaruhi jendela Lokal, jendela Watch, dan output perintah debugger. Perintah ini setara dengan menggunakan perintah .force_radix_output (Gunakan Radix untuk Bilangan Bulat).

    Catatan Perintah Selalu menampilkan angka dalam basis default tidak memengaruhi bilangan bulat panjang. Bilangan bulat panjang ditampilkan dalam format desimal kecuali perintah .enable_long_status (Aktifkan Tampilan Bilangan Bulat Panjang) diatur. Perintah .enable_long_status memengaruhi tampilan di jendela Lokal, jendela Watch, dan dalam output perintah debugger; tidak ada yang setara untuk perintah ini di menu di jendela Lokal.

  • (Hanya dalam menu) Buka jendela memori untuk nilai yang dipilih membuka jendela Memori terdocking baru yang menampilkan memori dimulai pada alamat ekspresi yang dipilih.

  • (Hanya menu) Panggil dt untuk nilai memori yang dipilih menjalankan perintah dt (Jenis Tampilan) dengan simbol yang dipilih sebagai parameternya. Hasilnya muncul di jendela Perintah Debugger. Opsi -n secara otomatis digunakan untuk membedakan simbol dari alamat heksadesimal. Tidak ada opsi lain yang digunakan. Perhatikan bahwa konten yang dihasilkan dengan menggunakan pilihan menu ini identik dengan konten yang dihasilkan saat menjalankan perintah dt dari baris perintah, tetapi formatnya sedikit berbeda.

  • (Hanya menu) Toolbar mengaktifkan dan menonaktifkan bilah alat.

  • (Hanya menu) Tambatkan atau Lepaskan dari penambatan menyebabkan jendela masuk atau meninggalkan keadaan ditambatkan.

  • (Hanya menu) Pindah ke dok baru menutup jendela Lokal dan membukanya di dock baru.

  • (Hanya menu) Atur sebagai target tab-dock untuk jenis jendela tidak tersedia untuk jendela Lokal. Opsi ini hanya tersedia untuk jendela Sumber atau Memori.

  • (Hanya untuk menu) Selalu mengambang menyebabkan jendela tetap tidak tertaut meskipun diseret ke lokasi penautan.

  • (Menu saja) #B0 Pindahkan dengan bingkai #C1 menyebabkan jendela bergerak saat bingkai WinDbg dipindahkan, bahkan jika jendela dilepas.

  • (Hanya menu) Bantuan membuka topik ini dalam dokumentasi Alat Debugging untuk Windows.

  • (Menu saja) Tutup akan menutup jendela ini.

Jendela Pengawas

Di WinDbg, Anda dapat menggunakan jendela Watch untuk menampilkan dan mengubah variabel lokal. Jendela Watch dapat menampilkan daftar variabel apa pun yang Anda inginkan. Variabel ini dapat mencakup variabel global dan variabel lokal dari fungsi apa pun. Kapan saja, jendela Watch menampilkan nilai variabel yang cocok dengan cakupan fungsi saat ini. Anda juga dapat mengubah nilai variabel ini melalui jendela Watch.

Tidak seperti jendela Lokal, jendela Watch tidak terpengaruh oleh perubahan pada konteks lokal. Hanya variabel yang ditentukan dalam cakupan penghitung program saat ini yang dapat menampilkan atau memodifikasi nilainya.

Untuk membuka jendela Watch, pilih Watch dari menu View. Anda juga dapat menekan ALT+2 atau memilih tombol Watch pada toolbar. ALT+SHIFT+2 menutup jendela Watch.

Cuplikan layar berikut menunjukkan contoh jendela Watch.

Cuplikan layar jendela Watch di WinDbg.

Jendela Watch dapat berisi empat kolom. #C1 Nama #B0 dan kolom #C3 Nilai #B2 selalu ditampilkan, dan #C5 Tipe #B4 dan kolom #C7 Lokasi #B6 bersifat opsional. Untuk menampilkan kolom Tipe dan Lokasi , pilih tombol Typecast dan Lokasi , masing-masing, pada toolbar.

Lihat juga

Untuk informasi selengkapnya tentang mengontrol variabel lokal, gambaran umum penggunaan variabel dan mengubah cakupan, dan deskripsi perintah terkait memori lainnya, lihat Membaca dan Menulis Memori.