如何用dev c++来调试程序

如何用dev c++来调试程序,第1张

dev-c是个ide,它的编译器是mingw

一、使用单步调试和观察变量的步骤:

1

编译通过(ctrl+f9)

2

设置断点(ctrl+f5)

3

调试(f8)

4

增加观察变量(在左边的debug观察窗口右键增加或者f4)

5

单步调试:f7

6

结束调试:ctrl+alt+f2

简单来说,它有两种方式,一种是源码debug,即分析源码来找出bug位置,一般使用printf()打印出程序执行每一步的信息,一种是可执行文件debug,需要使用调试器来进行。

1源码debug。类似于下面的源码,主要通过程序执行时输出的信息,来定位bug出现的位置,然后再修改源码。

例如:

#include

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行修改为:gccexe

-d__debug__,

4)把g++行修改为:

g++exe

-d__debug__

5)点击确定,重新编译,就能调试了。

您好,VC60和Dev C++都是集成开发环境(IDE),通俗来说就是可以写代码、编译、运行的可视化工具。区别如下:

1、VC60是微软出品,Dev C++由Bloodshed开发,前者体量较大,可以进行MFC可视化界面的编程,后者相对体量较小。

2、DevC++使用gcc编译器,DevC++使用自带编译器,很多时候ACM比赛使用的是gcc编译器,不同的编译器对于个别语句的解释可能不同,因此可能出现在写的程序在一个编译器编译通过,换成另一个却不通过的情况。

3、VC的功能更强大一些,断点调试等支持较好(虽然DevC++也支持,但不如VC60好用)

综上所述,如果是开发项目如多文件编程、MFC编程建议使用VC60,如果只是单纯的写个C/C++小程序,或者是参加ACM比赛,那么使用DevC++即可。

应该是d出了,然后一闪而过了,用Shift+F5运行吧。 不然在程序后面读取个什么也行,VC下还可改成: #include <iostream> #include <cstdlib> using namespace std; int main() { cout << "Hello!" << endl; system("pause"); return 0; }

基本上可以,但dev-c遵从的是标准的c++规范,而vc60是微软的c++规范,所以有些细节上会有些不同,举个例子:在vc60里有这样一行代码:

for

(int

i=0;

i<100;

i++)

{}

那么i就被当作已经定义了,作用域是与for平齐的,即在for循环结束以后的代码里也可以直接使用。

而在dev-c里i的作用域只在for循环之内,也就是说,for循环结束后的代码不能使用i,必须重新定义。

想让dev-c里写的代码在vc60中运行,只要在vc60中新建一个空工程,再在工作区的文件视图里面的几个文件夹中添加对应的程序的源文件就行了,建议直接把源文件拷到新建的工程文件夹里面再添加

#include <stdioh>

int main()

{

printf("program\n");

return 0;

}

VC60老了,标准很不规范,现在的ANSI C标准要求main函数类型为int,这样根据主函数的返回值就能知道程序是否正确执行了,DEV就是用新标准的G++编译器。

其它和VC 60的区别:

#include <iostream>

#include <string>

#include <queue>

#include <stack>

#include <algorithm>

//都没有h,也就是说C++新增的库文件要是引用时都不应该加h。

还有嵌入式汇编时VC用的是INTEL格式的,而G++用的是AT&T格式的。

建议你用Codeblocks,别用DEV,用DEV编辑时的格式很烂,还有等你调试时你就明白为什么了。

没发现有什么问题,你把for(i=k;x[i+m]!='\0';i++)中的i=k改为i=k-1试试。

希望能够帮到你

这是我这边执行的截图

以上就是关于如何用dev c++来调试程序全部的内容,包括:如何用dev c++来调试程序、VC和Dev-c++有什么区别、同样的代码在VC++下可以无错运行,但是在Dev-C++中却报错了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10172860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存