Bir işleme gdb eklediğimi ve bellek düzeni içinde bellek adresinin olmasını istediğim bir dosya ve satır numarası olduğunu varsayalım. X dosyasındaki n numaralı satırın hafıza adresini nasıl alabilirim? Bu Linux x86'da. piton ile ayrıcagdb satır numarasının hafıza adresini bul
6
A
cevap
13
(gdb) info line test.c:56
Line 56 of "test.c" starts at address 0x4005ae <main+37>
and ends at 0x4005ba <main+49>.
Eğer Symbol-Tables-In-Python gelen 'son' özelliğini kullanmak mümkün olabilir bu anda cvs gdb bir çok yeni sürümünü gerektirir, ama 7.5
(gdb) py x = gdb.find_pc_line(gdb.decode_line("test.c:56")[1][0].pc); gdb.execute("p/x " + str(x.pc)); gdb.execute("p/x " + str(x.last))
$15 = 0x4005ae
$16 = 0x4005b9
genel seçeneklerine sahiptir hayal
+0
Yardım için teşekkürler. –
+0
bilgi hattı! Diğer soruda buna ihtiyacımız vardı. –
[gdb satır numarasına göre parçalara ayırma] 'nın bir ya da daha az kopyası (http://stackoverflow.com/questions/11285932/gdb-disassemble-by-line-number) - bu sorunun cevabı, buna mükemmel bir yanıttır. biri de. – duskwuff