#include <stdio.h>
#define NAME "Joe"
int main()
{
printf ("Hello %s\n", NAME);
return 0;
}
使用gcc -g
編譯生成的程序,是不包含預處理器宏信息的:
(gdb) p NAME
No symbol "NAME" in current context.
如果想在gdb中查看宏信息,可以使用gcc -g3
進行編譯:
(gdb) p NAME
$1 = "Joe"
關於預處理器宏的命令,參見gdb手冊
xmj