如果我想在NULL
的通话说明中使用标识符gdb
,该怎么办?
是因为我没有在gdb中包含stdio.h吗?
我尝试过:call #include <stdio.h>
,但这似乎不起作用。
只需使用0
或(void*)0
。没什么。
NULL
是C定义,定义为:]]
#define NULL ((void *) 0)
NULL
被C预处理器替换为((void *) 0)
。因此它永远不会传递给编译器,因此您不能在gdb
中使用它。
按照Jester
的建议进行操作,只需使用(void *) 0
。当前的GCC和GDB可以看到定义,但是必须使用-ggdb3
进行编译,-g
是不够的。