繁体   English   中英

gdb查找行号的内存地址

[英]gdb find memory address of line number

假设我已经将gdb附加到进程并且在其内存布局中有一个文件和行号,我想要内存地址。 如何获取文件x中第n行的内存地址? 这是在Linux x86上。

(gdb) info line test.c:56
Line 56 of "test.c" starts at address 0x4005ae <main+37>
   and ends at 0x4005ba <main+49>.

另外使用python,你可以使用Symbol-Tables-In-Python中的'last'属性,这个目前需要cvs的最新gdb版本,但我想在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM