下面是源文件片段:
#define TEST 34
#define PRINT_CONCAT(a, b) \
printf("%d\n", a##b)
使用GCC
进行编译并将此源文件链接到带有-ggdb3 -O3
标志的二进制文件中,然后使用gdb
运行应用,会出现以下行为:
(gdb) p TEST
$3 = 34
(gdb) p PRINT_CONCAT
No symbol "PRINT_CONCAT" in current context.
有没有办法让gdb以任何方式展开函数宏?
1条答案
按热度按时间fjnneemd1#
它变得非常简单
甚至不需要
-ggdb3
,-g3
就足够了。-g2
似乎不包括所需的信息。