【发布时间】:2019-07-05 08:56:48
【问题描述】:
我刚开始用 c 编程,我想测试一些代码。所以,我需要知道我已经知道的程序中特定点的变量值。
在搜索时,我看到很多人都在使用 gdb 和核心转储,但我发现大多数示例在发生崩溃时都使用它来调试代码。 就我而言,我不想终止执行,我只想保存/知道特定变量在特定点的值。
例如:
如果我有这段代码:
int func(int x){
x = 3 * x;
if(x > 0){
x = x % 4;
/* I want to know the value of x at this point*/
}
else {
x = x + 1;
/* I want to know the value of x at this point*/
}
return x;
}
如果用户输入值,我想知道计算后(if)块内x的值是多少。
更新: 为了澄清我的问题,我有一个大代码,我想测试完整的包,我想编写一个函数来告诉我这个程序点的存储值是什么。
【问题讨论】:
-
使用调试器,您可以设置导致程序停止的断点,然后您可以在监控变量及其值的同时逐行执行代码,一旦完成你可以继续执行。其他调试方式包括“printf 调试”,您只需添加大量
printf调用即可打印程序的状态以及重要和相关变量的值。