C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – gdb查找行号的内存地址大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我已经将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,你可以使用’last’属性
Symbol-Tables-In-Python目前需要一个来自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

大佬总结

以上是大佬教程为你收集整理的c – gdb查找行号的内存地址全部内容,希望文章能够帮你解决c – gdb查找行号的内存地址所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。