用Dev-C++怎么调试程序?
什么添加查看,查看变量,单步跟踪,运行到光标,这些有什么用?怎么用.有例子最好.
不要复制别人的!
有没有高手啊?举个例子啊!最好有图.
在网上只找到了英文版的,跟中文的有一点不大一样,大家凑和看看。
1. 把“生成调试信息”设置为 Yes。方法如下:
Tools(工具) --> Compiler Options(编译器选项) --> Settings(设置)
2. 编译程序。请参考:
Dev-C++ 安装&使用教程 Dev-C++ 编译多文件程序的方法
3. 设置断点(Break point)
把光标移动到您想暂停执行的那一行,按 ctrl + F5,或者直接用鼠标点击下图红线标明的区域。
4. 开始调试(Debug)
按 F8 开始调试。如果您没有把“生成调试信息”设置为 Yes,Dev-C++ 会提示说您的工程中没有调试信息。
点击 Yes,Dev-C++ 会自动把“生成调试信息”设置为 Yes,并且重新编译您的工程。程序运行到断点处会暂停:
按 F7 执行当前行,并跳到下一行:
ctrl + F7 跳到下一断点,shift + F4 跳到光标所在行,并在该行设置断点。
5. 查看变量的值
开始调试后,在图示区域按右键(如果您使用的是左手习惯,则是左键),选择“添加监测(Add Watch)”;或者直接按 F4。在弹出窗口中输入您想查看的变量名,然后按确定(OK),就可以看到该变量的值:
用鼠标选择源文件中的变量名,然后按 F4 也可以查看变量的值,该变量会出现在左边的监测列表中:
如果您在环境选项(Environment Options)中选择了“通过鼠标监测变量(Watch variable under mouse)”,用鼠标指向您想要查看的变量一段时间,该变量也会被添加到监测列表中。
重要提示:
1). 当您想查看指针指向的变量的值的时候,按 F4,然后输入星号及指针的名字(如 *pointer)。 如果没加 *,看到的将会是一个地址,也就是指针的值。
2). 有时,调试器(Debugger)可能不知道某个指针的类型,从而不能显示该指针指向的变量的值。 此时,我们需要手动输入该指针的类型。按 F4 后,以 *(type *)pointer 形式输入。例如, *(int *)pointer。
1. 把“生成调试信息”设置为 Yes。方法如下:
Tools(工具) --> Compiler Options(编译器选项) --> Settings(设置)
2. 编译程序。请参考:
Dev-C++ 安装&使用教程 Dev-C++ 编译多文件程序的方法
3. 设置断点(Break point)
把光标移动到您想暂停执行的那一行,按 ctrl + F5,或者直接用鼠标点击下图红线标明的区域。
4. 开始调试(Debug)
按 F8 开始调试。如果您没有把“生成调试信息”设置为 Yes,Dev-C++ 会提示说您的工程中没有调试信息。
点击 Yes,Dev-C++ 会自动把“生成调试信息”设置为 Yes,并且重新编译您的工程。程序运行到断点处会暂停:
按 F7 执行当前行,并跳到下一行:
ctrl + F7 跳到下一断点,shift + F4 跳到光标所在行,并在该行设置断点。
5. 查看变量的值
开始调试后,在图示区域按右键(如果您使用的是左手习惯,则是左键),选择“添加监测(Add Watch)”;或者直接按 F4。在弹出窗口中输入您想查看的变量名,然后按确定(OK),就可以看到该变量的值:
用鼠标选择源文件中的变量名,然后按 F4 也可以查看变量的值,该变量会出现在左边的监测列表中:
如果您在环境选项(Environment Options)中选择了“通过鼠标监测变量(Watch variable under mouse)”,用鼠标指向您想要查看的变量一段时间,该变量也会被添加到监测列表中。
重要提示:
1). 当您想查看指针指向的变量的值的时候,按 F4,然后输入星号及指针的名字(如 *pointer)。 如果没加 *,看到的将会是一个地址,也就是指针的值。
2). 有时,调试器(Debugger)可能不知道某个指针的类型,从而不能显示该指针指向的变量的值。 此时,我们需要手动输入该指针的类型。按 F4 后,以 *(type *)pointer 形式输入。例如, *(int *)pointer。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-07-14
简单来说,有两种方式,一种是源码debug,即分析源码来找出bug位置,一般使用printf()打印出程序执行每一步的信息,一种是可执行文件debug,需要使用调试器来进行。
1.源码debug。类似于下面的源码,主要通过程序执行时输出的信息,来定位bug出现的位置,然后再修改源码。
例如:
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)点击确定,重新编译,就能调试了。
第2个回答 2008-04-04
据说dev-cpp调试能力为0
其实对于任何编译环境,静态调试才是王道!!!
所谓的静态调试指,
1.用眼睛观察
2.打印中间变量
3.灵活应用system("pause")确定出错的位置(有时比debug还要有用!!)
等
其实对于任何编译环境,静态调试才是王道!!!
所谓的静态调试指,
1.用眼睛观察
2.打印中间变量
3.灵活应用system("pause")确定出错的位置(有时比debug还要有用!!)
等
第3个回答 2019-12-05
先按Ctrl+F5(或者在"调试"菜单里找到"切换断点")为鼠标所选定的一行设置断点,然后再按F8进入调试模式,再按F7进行单步调试.
只要设置了断点,程序在调试的时候就可以在运行到断点除暂停.只有设置了断点才能进行F7单步调试.
只要设置了断点,程序在调试的时候就可以在运行到断点除暂停.只有设置了断点才能进行F7单步调试.
第4个回答 2008-04-12
Bloodshed Dev-C++ IDE 调试C++程序
本回答被提问者采纳
本回答被提问者采纳