GDB If语句返回值?

时间:2011-03-31 22:42:04

标签: debugging gdb

如果评估语句,我有没有办法阅读?我的意思是,就像在 -

中获取realpath的返回值一样
if(realpath(path.c_str(), realPath) == 0)

3 个答案:

答案 0 :(得分:2)

您可step into and finish realpath发挥作用。返回的值将打印在屏幕上。

答案 1 :(得分:0)

在gdb提示符下(如果在编译时启用了调试符号)

print realpath(path.c_str(),realPath)

它将打印结果,非常漂亮。

答案 2 :(得分:0)

如果你的代码周围有一个内存指针,你可以使用GDB为它分配新的内存空间,并使用它来存储你想要评估的表达式的结果。

查看this page了解详情。

(gdb) set variable p = malloc(sizeof(int))

(gdb) print p
$2 = (int *) 0x40013f98    (address allocated by malloc)

(gdb) set variable *p = 255

(gdb) print *p
$3 = 255
相关问题