Dalam GDB, anda boleh menetapkan titik putus untuk memantau pembolehubah tertentu dan mengenal pasti apabila ia diakses atau diubah suai. Berikut ialah pecahan arahan dan teknik GDB untuk tujuan ini:
Arahan Titik Awas:
Menetapkan Titik Pantauan pada Lokasi Memori:
Anda boleh tetapkan titik pantau pada lokasi memori menggunakan arahan rwatch:
gdb$ rwatch *0xfeedface
Ini akan mencetuskan titik putus apabila alamat memori 0xfeedface dibaca.
Penghadan Titik Pantau pada Ungkapan:
Perhatikan bahawa titik pantau GDB tidak boleh ditetapkan pada ungkapan yang melibatkan pembolehubah:
gdb$ rwatch $ebx+0xec1a04f Expression cannot be implemented with read/access watchpoint.
Untuk mengatasi masalah ini, kembangkan secara manual ungkapan:
gdb$ print $ebx = 0x135700 gdb$ rwatch *0x135700+0xec1a04f
Sokongan Perkakasan lwn. Perisian:
Titik pantau perkakasan menawarkan prestasi yang lebih pantas daripada titik pantau perisian. Untuk menyemak sama ada OS anda menyokong titik pantau perkakasan, jalankan arahan berikut:
gdb$ show can-use-hw-watchpoints
Jika output ialah 1, titik pantau perkakasan tersedia.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Akses Pembolehubah dan Bacaan/Tulis Memori dalam GDB Menggunakan Titik Putus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!