我不确定如何调用它,基本上我有这样的用户定义命令:
define dump_stack
set $i = stackTop
while $i >= 0
if stackPtr[1]->bytes == 0
printf "0x%x\n", stackPtr[$i]
else
printf "0x%x:%s\n", stackPtr[$i], stackPtr[$i]->bytes
end
set $i = $i - 1
end
end
当我在gdb中调用此命令时,会看到以下内容:
(gdb) dump_stack
+dump_stack
++set $i = stackTop
++while $i >= 0
+++if stackPtr[1]->bytes == 0
++++printf "0x%x\n", stackPtr[$i]
0x55756f40
+++set $i = $i - 1
+++if stackPtr[1]->bytes == 0
++++printf "0x%x\n", stackPtr[$i]
0x5576ba50
+++set $i = $i - 1
+++if stackPtr[1]->bytes == 0
++++printf "0x%x\n", stackPtr[$i]
0x5576ac70
+++set $i = $i - 1
+++if stackPtr[1]->bytes == 0
++++printf "0x%x\n", stackPtr[$i]
0x5576ac10
+++set $i = $i - 1
您可以看到所有以“ +”开头的行都很吵。
关闭它的命令是什么,因此对于上面的内容,我只会看到:
0x55756f40
0x5576ba50
0x5576ac70
0x5576ac10
谢谢!
[更新]找到答案:关闭跟踪命令