Memantau Akses Pembolehubah dalam GDB
Memutuskan akses berubah ialah teknik yang berguna untuk menyahpepijat atur cara yang kompleks. Beberapa arahan titik pantau dalam GDB membolehkan anda memantau pembolehubah untuk bacaan atau tulis.
tonton rehat semasa menulis, rwatch rehat pada bacaan dan tonton putus pada operasi baca/tulis.
Akses Memori Titik pantau:
Anda boleh menetapkan titik pantau baca pada lokasi memori menggunakan rwatch. Perintah berikut menetapkan titik pantau baca pada alamat 0xfeedface:
gdb$ rwatch *0xfeedface
Walau bagaimanapun, anda tidak boleh menggunakan pembolehubah GDB dalam ungkapan untuk rwatch dan awatch. Jika anda cuba berbuat demikian, anda akan menerima mesej ralat. Sebaliknya, kembangkan ungkapan secara manual:
gdb$ print $ebx = 0x135700 gdb$ rwatch *0x135700+0xec1a04f
Sokongan Perkakasan dan Perisian:
Sokongan Watchpoint bergantung pada sama ada sokongan perkakasan atau perisian. Titik pantau perkakasan jauh lebih pantas. Untuk menyemak sama ada OS anda menyokong titik pantau perkakasan, gunakan perintah show can-use-hw-watchpoints:
gdb$ show can-use-hw-watchpoints Debugger's willingness to use watchpoint hardware is 1.
Jika output ialah 1, titik pantau perkakasan didayakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memantau Akses Berubah dalam GDB Menggunakan Titik Pantau?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!