就像在核心文件中,我们有一个函数,然后我们列出像
这样的函数list <function_name>
但在使用宏做同样的事情时,它就像是
Function <macro_name> not defined.
有人可以帮忙吗?
答案 0 :(得分:0)
使用GDB列出核心文件中的宏
请注意, 函数名称,和宏名称都不包含在core
文件中。它们包含在可执行文件中。
要允许GDB显示宏,必须使用适当级别的调试信息编译可执行文件(如果使用-g3
平台,GCC为DWARF
),然后使用macro expand GDB命令。
请注意,重新编译可执行文件可能会使现有的core
无法使用,除非您可以从完全相同的源重建它。特别是,如果原始可执行文件是使用优化编译的(例如使用-O2
),那么必须使用完全相同的选项(只需将-g3
添加到编译行)。