第一次用dev c++5中文版,但不知道怎么调试程序。麻烦各位指教一下。具体想知道如何让它单步执行,设置断点,设观察变量。在vc里只用按f10就可以让它单步执行了,并可以在下框里观察变量,这个不知道该按什么。麻烦说的详细一些。尤其想知道怎么弄能观察到变量的值在一步步的变化。谢谢!
简单来说,有两种方式,一种是源码debug,即分析源码来找出bug位置,一般使用printf()打印出程序执行每一步的信息,一种是可执行文件debug,需要使用调试器来进行。
1.源码debug。类似于下面的源码,主要通过程序执行时输出的信息,来定位bug出现的位置,然后再修改源码。
例如:
#include <stdio.h>
void f() { ; }
int main(){
#ifdef _DEBUG
printf("start main function!\n");
#endif
void f();
#ifdef _DEBUG
printf("leave main function !\n");
#endif
return 0;
}
2.可执行文件调试,windows平台常用的就是vs/vc自带的调试,另外一个就是微软自家开发的调试器windbg。Linux平台以gdb为常用。
下面以dev-C++为例:
1)在“工具”-》编译选项-》"编译时加入以下命令"下面的编辑框里加上: -g3
2)在下面的"在连接器命令行加入以下命令" 下的编辑框上加上: -g3
3)转到程序页,把gcc行修改为:gcc.exe -D__DEBUG__,
4)把g++行修改为: g++.exe -D__DEBUG__ ,
5)点击确定,重新编译,就能调试了。
1.源码debug。类似于下面的源码,主要通过程序执行时输出的信息,来定位bug出现的位置,然后再修改源码。
例如:
#include <stdio.h>
void f() { ; }
int main(){
#ifdef _DEBUG
printf("start main function!\n");
#endif
void f();
#ifdef _DEBUG
printf("leave main function !\n");
#endif
return 0;
}
2.可执行文件调试,windows平台常用的就是vs/vc自带的调试,另外一个就是微软自家开发的调试器windbg。Linux平台以gdb为常用。
下面以dev-C++为例:
1)在“工具”-》编译选项-》"编译时加入以下命令"下面的编辑框里加上: -g3
2)在下面的"在连接器命令行加入以下命令" 下的编辑框上加上: -g3
3)转到程序页,把gcc行修改为:gcc.exe -D__DEBUG__,
4)把g++行修改为: g++.exe -D__DEBUG__ ,
5)点击确定,重新编译,就能调试了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-07-15
tools -> compiler options ->check "add the following commands when calling compiler" and write "-g3"check "add these commands to linker command line" and write "-g3" then select "Programs" (right hand)gcc.exe -D__DEBUG__g++.exe -D__DEBUG__ do it.本回答被提问者采纳