Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Memantau Akses Berubah dalam GDB Menggunakan Titik Pantau?

Bagaimanakah Saya Boleh Memantau Akses Berubah dalam GDB Menggunakan Titik Pantau?

Linda Hamilton
Lepaskan: 2024-12-09 18:44:15
asal
623 orang telah melayarinya

How Can I Monitor Variable Access in GDB Using Watchpoints?

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
Salin selepas log masuk

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
Salin selepas log masuk

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.
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan