众所周知,在调试期间,gdb可以在启用特殊gcc选项时扩展宏。 但与调试原始源代码相比,它不够方便。
如果有一个工具可以就地扩展宏并替换gcc的原始源代码进行编译,那就太酷了
如果没有这样的工具,我会创建一个,这里有一些粗略的想法供你的评论
使用“gcc -E”用宏编译源代码并将结果输出到一些临时文件,在预处理文件与原始源文件之间进行一些智能差异/比较,以提取扩展源代码并构建最终文件已扩展宏的源代码
答案 0 :(得分:0)
一个想法是使用gcc -E,然后编辑生成的.i文件并删除受影响区域周围的#line指令。然后编译.i文件。
gcc + gdb可以调试宏,就好像它们是内联函数一样,但我认为这在gcc中是相当多的工作。