C语言devc++调试error+Thread+1+received+signal+SIIGTRAP+'Trace/breakpoint+trap
时间: 2023-12-26 18:07:11 浏览: 185
DevC++调试
这个错误通常是由于程序试图访问无效的内存地址而导致的。在调试过程中,可以使用断点来逐步执行代码并查看变量的值,以找出错误的原因。以下是在Dev-C++中调试C程序的步骤:
1. 在代码中设置断点:在代码行号的左侧单击,将在该行设置一个红色圆点。
2. 启动调试器:单击菜单栏上的“调试”按钮,然后选择“开始/继续调试”或按F5键。
3. 执行代码:程序将在第一个断点处停止。单击“继续”按钮或按F8键,程序将继续执行直到下一个断点或程序结束。
4. 查看变量:在程序停止时,可以查看变量的值。在“变量”窗口中,可以看到当前作用域中的所有变量及其值。
5. 调试错误:如果程序停止在错误处,可以使用调试器逐步执行代码并查看变量的值,以找出错误的原因。
以下是修改后的代码:
```c
#include <stdio.h>
void C(int *p) {
*p = 0x12;
}
void B(int *p) {
C(p);
}
void A(int *p) {
B(p);
}
void A2(int *p) {
C(p);
}
int main(int argc, char **argv) {
int a;
int *p = NULL;
A2(&a); // A2 > C
printf("a = 0x%x\n", a);
A(p); // A > B > C
return 0;
}
```
阅读全文