sadece yazmada molaları izle , rwatch okumaya izin ver ve uyanık ol okuma / yazmaya izin vermenize izin verir.
Bellek konumlarında okuma izleme noktaları ayarlayabilirsiniz:
gdb$ rwatch *0xfeedface
Hardware read watchpoint 2: *0xfeedface
ancak bir sınırlama rwatch ve awatch komutları için geçerlidir; ifadelerde gdb değişkenlerini kullanamazsınız:
gdb$ rwatch $ebx+0xec1a04f
Expression cannot be implemented with read/access watchpoint.
Yani onları kendiniz genişletmelisiniz:
gdb$ print $ebx
$13 = 0x135700
gdb$ rwatch *0x135700+0xec1a04f
Hardware read watchpoint 3: *0x135700 + 0xec1a04f
gdb$ c
Hardware read watchpoint 3: *0x135700 + 0xec1a04f
Value = 0xec34daf
0x9527d6e7 in objc_msgSend ()
Düzenleme: Oh, ve bu arada. Donanım veya yazılım desteğine ihtiyacınız var . Yazılım açıkçası çok daha yavaş. İşletim sisteminizin donanım izleme noktalarını destekleyip desteklemediğini öğrenmek için can-use-hw-watchpoints ortam ayarını görebilirsiniz.
gdb$ show can-use-hw-watchpoints
Debugger's willingness to use watchpoint hardware is 1.
watch -location mTextFormatted
.