Bagikan melalui


# (Cari Pola Pembbongkaran)

Perintah tanda angka (#) mencari pola yang ditentukan dalam kode pembbongkaran.

# [Pattern] [Address [ L Size ]] 

Parameter

Pola

Menentukan pola yang akan dicari dalam kode pembbongkaran. Pola dapat berisi berbagai karakter kartubebas dan penentu. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks Wildcard String. Jika Anda ingin menyertakan spasi dalam Pola, Anda harus mengapit pola dalam tanda kutip. Polanya tidak peka huruf besar/kecil. Jika sebelumnya Anda telah menggunakan # perintah dan Anda menghilangkan Pola, perintah menggunakan kembali pola yang terakhir digunakan.

Alamat

Menentukan alamat tempat pencarian dimulai. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks Alamat dan Rentang Alamat.

Ukuran

Menentukan jumlah instruksi yang akan dicari. Jika Anda menghilangkan Ukuran, pencarian berlanjut hingga kecocokan pertama terjadi.

Lingkungan

Item Deskripsi
Mode Mode pengguna, mode kernel
Target Live, crash dump
Platform Semua

Informasi Tambahan

Untuk informasi selengkapnya tentang penelusuran kesalahan rakitan dan perintah terkait, lihat Debugging dalam Mode Rakitan.

Keterangan

Jika sebelumnya Anda menggunakan # perintah dan menghilangkan Alamat, pencarian dimulai di mana pencarian sebelumnya berakhir.

Perintah ini bekerja dengan mencari teks yang dibongkar untuk pola yang ditentukan. Anda dapat menggunakan perintah ini untuk menemukan nama register, konstanta, atau string lain yang muncul dalam output pembbongkaran. Anda dapat mengulangi perintah tanpa parameter Alamat untuk menemukan kemunculan pola yang berturut-turut.

Anda dapat melihat instruksi pembbongkaran dengan menggunakan perintah u (Unassemble) atau dengan menggunakan jendela Disassembly di WinDbg. Tampilan pembongkaran berisi hingga empat bagian: Offset alamat, Kode biner, mnemonik bahasa rakitan, dan detail bahasa assembly. Contoh berikut menunjukkan kemungkinan tampilan.

0040116b    45          inc         ebp            
0040116c    fc          cld                        
0040116d    8945b0      mov         eax,[ebp-0x1c] 

Perintah # dapat mencari teks dalam satu bagian dari tampilan pembbongkaran. Misalnya, Anda dapat menggunakan # eax 0040116b untuk menemukan mov eax,[ebp-0x1c] instruksi di alamat 0040116d. Perintah berikut juga menemukan instruksi ini.

#  [ebp?0x  0040116b 
#  mov  0040116b 
#  8945*  0040116b 
#  116d  0040116b 

Namun, Anda tidak dapat mencari mov eax* sebagai satu unit, karena mov dan eax muncul di berbagai bagian layar. Sebagai gantinya, gunakan mov*eax.

Sebagai contoh tambahan, Anda dapat mengeluarkan perintah berikut untuk mencari referensi pertama ke fungsi strlen setelah titik masuk utama.

# strlen main

Demikian pula, Anda dapat mengeluarkan dua perintah berikut untuk menemukan instruksi jnz pertama setelah alamat 0x779F9FBA dan kemudian menemukan instruksi jnz berikutnya setelah itu.

# jnz 779f9fba# 

Saat Anda menghilangkan Pola atau Alamat, nilainya didasarkan pada penggunaan # perintah sebelumnya. Jika Anda menghilangkan salah satu parameter saat pertama kali Anda mengeluarkan # perintah, tidak ada pencarian yang dilakukan. Namun, nilai Pola dan Alamat diinisialisasi bahkan dalam situasi ini.

Jika Anda menyertakan Pola atau Alamat, nilainya diatur ke nilai yang dimasukkan. Jika Anda menghilangkan Alamat, alamat diinisialisasi ke nilai penghitung program saat ini. Jika Anda menghilangkan Pola, pola tersebut diinisialisasi ke pola kosong.