在调试时我需要打印在else块中声明的变量的值。像这样的东西:
if(condition){
}
else {
string str = "abcd";
strcpy(globalvariable,str,sizeOf(str));
}
我想看看str。
的价值答案 0 :(得分:1)
break
命令设置断点以停止执行程序序列。在您的情况下,(gdb) break strcpy
每次在其他地方被称为strcpy时都会中断。x str
,x/s str
,print str
,print "%s", str
。 答案 1 :(得分:0)
如果str
在程序流程中为真,则无法看到condition
的值,因为在这种情况下内存中不存在else
。
您必须以正常的程序流程或使用gdb jump命令以某种方式输入{{1}}块。