我该怎么做才能跟踪这个错误?

时间:2010-01-19 07:16:44

标签: c linux debugging

我有一个char指针结果为NULL的错误。我一直在使用该程序的gdb,在内存地址上观察读/写,并逐步完成指令,但到目前为止,这个错误让我感到困惑。我已经运行了valgrind,唯一出现的是崩溃时的读取(strcmp)。我还能做些什么来追踪这个?

1 个答案:

答案 0 :(得分:8)

您可以尝试watchpoint。您观察表达式,当该表达式的值发生更改时,gdb将停止执行。

您可以观看变量:

watch charptr

每次charptr更改时都会中断。如果您只是想知道它何时从非NULL变为NULL(反之亦然),您可以使用:

watch charptr == 0