0

在调试时,我需要打印在 else 块中声明的变量的值。像这样的东西:

if(condition){ 

}
else {
string str = "abcd";
strcpy(globalvariable,str,sizeOf(str));
}

我想看看 str 的值。

4

2 回答 2

1
  1. 在调试器中运行程序。
  2. 使用命令设置断点以停止程序序列的执行break。在您的情况下,(gdb) break strcpy每次在 else 中调用 strcpy 时都要中断。
  3. 要打印,您可以使用以下任何一种,x str, x/s str, print str, print "%s", str
于 2013-11-07T11:45:08.777 回答
0

在程序流程期间您看不到strif的值condition是 true,因为在这种情况下它不存在于内存中。
您必须以else某种方式输入块,无论是在正常程序流程期间还是使用 gdb跳转命令。

于 2013-11-07T16:07:14.817 回答