⑴ c语言调试步骤
一、在keil中调试c语言程序
1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。
⑵ c语言程序调试
调试程序一般应经过以下几个步骤:
1先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙上机,而应对纸面上的程序进行人工检查。这一步是十分重要的,它能发现程序设计人员由于疏忽而造成的多数错误。而这一步骤往往容易被人忽视。有人总希望把一切推给计算机系统去做,但这样就会多占用机器时间,作为一个程序人员应当养成严谨的科学作风,每一步都要严格把关,不把问题留给后面的程序。
为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:应当采用结构化程序方法编程,以增加可读性;2尽可能多加注释,以帮助理解每段程序的作用;3在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。这样既易于阅读也便于调试,各函数之间除用参数传递数据这一渠道以外,数据间尽量少出现耦合关系,便于分别检查和处理。
2在人工检查无误后,才可以上机调试。通过上机发现错误称动态检查。在编译时给出语法错误的信息,可以根据提示的信息具体找出程序中出错之处并改正之。应当注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多各种错误互有关联,因止要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。
如果系统提示的出错信息多,应当从上到下一一改正。有时显示出一大片出错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息;有的是少了“}”或多了“}”有的是书写语句时忘记写“;”或是全角的“;”了,只要加上一个变量定义,或填加“};”就所有错误都消除了。
3在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。应当对运行结果作分析。看它是否符合要求。有的初学者看到运行结果就认为没问题了,不作认真分析,这是危险的。
有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以得出容易判断正确与否的结果。可以在计算的输出结果的程序地方加入一段输出到串口的程序,利用串口窗口可以方便看到结果的,比仿真的都好和直观。例如,if语句有两个分支,有可能在流程经过其中一个分支时结果正确,而经过其它一个分支时结果不对等。必须考虑周全。
事实上,当程序复杂时很难把所有的可能方案全部都试到,选择典型的情况作试验即可。
4 运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法:
1 将程序与流程图仔细对照,如果流程图是正确的话,程序写错了,是很容易发现的。例如,复合语句忘记写花括号,只要一对照流程图就能很快发现。
2 如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,往下检查。直到找到在哪一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就可能发现错误所在。
3 也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf函数语句就要进行编译并执行。当调试完毕,这些语句不要再编译了,也不再被执行了)。这种方法可以不必一一去printf函数语句,以提高效率。
4 如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题,如有则改正之,接着修改程序。
5 有的系统还提供debug(调试)工具,跟踪流程并给出相应信息,使用更为方便,如KEILC51里的调试运行就很好用的,可以在命令的窗口输入程序中需要的数据和开关量、中断、I/O口的电平等来方便完成程序的运行,使用时要先打开Options for Target'Target1'(工程菜单里的目标‘TARGET1'属性)-----点DEBUG----选中左边use Simulator\load Application at sta\Go till main;按确定后退出到编辑画面,要先对源程序进行编译后没有错误才可以按主菜单上的调试按钮,进行调试的,F10为子程序运行式的单步、F11为单步调试;具体使用可以看本站提供的51单片机应用系统开发实例一书中的Dscope foe Windows一节。可以下载本站上中文版的KIELC51就直观了。
总之,程序调试是一项细致深入的工作,需要下功夫,动脑子,善于累积经验。在程序调试过程中往往反映出一个人的水平,经验和科学态度。希望读者能给以足够的重视。上机调试程序的目的决不 是为了“验证程序的正确”,而是“掌握调试的方法和技术”,不要一直依赖仿真器来解决,要学会自己找问题,这样慢慢自己就会写出错误较少的实用的程序,站长就没有仿真器的哦,靠KEILC51里的软件仿真就解决了。
请采纳。
⑶ c语言程序如何调试
TC,我就不说了,调试并不华丽.
常见的vs2005, 把里面调试相关的功能学会.
监视窗口用法,堆栈窗口的用法是必然要知道的.
⑷ C语言,如何调试程序,地址要怎么看筛法求素数
1、观察数组
如果数组是内部变量,直接在环境窗口中就可以查看到。
否则,在环境窗口(ALT+4)中,
对数组a,单击鼠标右键,选择“在内存中查看”,
在内存窗口(ALT+5)中,
即可以自动跳转数组a的起始地址,
里面的值,就是数组的值。
2、内存窗口中,地址后面的值,就是数组的值,
每行共有8个字节,共256字节(即长度),即共有32行。
3、这个有没有遇到,不知道跟系统有没有关系。我的系统win8 64位
#include<stdio.h>
intmain()
{
intn,i,j,t=1,p=0;
scanf("%d",&n);
inta[n];
a[0]=0;
for(i=1;i<n;i++)
{
a[i]=1;
}
if(n>=2)
{
for(i=1;i<n;i++)
{
if(a[i]==1)
{
p++;
for(j=(i+1);j<=n;j=(i+1)*t,t++)
{
a[j-1]=0;
}
}
}
}
if(n<2)
{
printf("%d",0);
}
if(n>=2)
{
printf("%d",p);
}
return1;
}
⑸ C语言 怎么调试程序
一、在keil中调试c语言程序
1、打开我们的程序,点击菜单栏右侧的start/stopdebug..按钮,进入调试模式,如下图。
⑹ C语言程序调试
main函数用int返回值比较好,不过也只是警告;
case 1/-2部分少了break;
缺少do,while上面的花括号没有对应的正括号;
while的判断条件char不能和字符串比较,这是指针和整型比较了,应该用单引号,如果用双引号,则判断会错误;
?:句式有问题,最后一个"paper"少一个:段,最后一个判断其实也没必要,模3得到的整数加1,只能是1/2/3,这个判断是废的。
如果补充了do,那么while后面应增加";"分号结束。
最终语法和逻辑都正确的应该是(当然其实并不够严谨,换行等排版也很难看):
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int main()
{
int computer,user;
char c;
do
{
srand ((unsigned)time(NULL));
printf("Starting!");
printf("Please input 1.Stone,2.Scissor,3.Paper");
scanf("%d",&user);
computer=rand()%3+1;
printf("Computer output is %s\n\n",computer==1?"Stone":computer==2?"Scissor":computer==3?"Paper":"unknow");
switch (computer-user)
{
case 0:
printf("Draw!\n\n");
break;
case 1:
case -2:
printf("computer win!\n\n");
break;
case -1:
case 2:
printf("You win!\n\n");
}
printf("Continue the game please press Y,press other key will exit");
getchar();
c=getchar();
}
while (c=='y'||c=='Y');
printf("It's all ready exit");
return 0;
}
⑺ vc++6.0里c语言编程如何调试
就是插入一个断点,快捷键是f9。这回运行程序时只用按f5,那么程序运行到有断点的地方就会停止。用f10可以单步跟踪,就是一步一步的看程序怎么运行的。如果遇到函数调用的地方,你用f11就可以进入函数里。在调试的时候你可以看见各个变量的值,也可以用shift+f9来设置跟踪那些变量的值。这样就可以更方便的跟踪调试程序了。
⑻ 关于c语言程序调试
scanf("%f,%f,f",&a,&b,&c);//输入3个数
1.上面这一行第三个%f你写成f了
void bijiao( float *x,float* y)//两个数值的比较子函数
{
float t;
if((*x)<(*y))
{
t=*x;
*x=*y;
*y=t;
}
}
2.上面的这个函数要改成这个样子!
⑼ 急急急!!计算机二级c语言程序设计题怎么编译调试,先点哪个再点哪个,求大神带截图,越详细越好!!
第七步:点击图中的叉结束调试。
程序填空,程序改错。就直接看程序的错误。
⑽ C语言怎么调试阿
你是编译的时候出错还是执行的时候出错?
如果是编译的时候出错,看它提示你哪行出错, 双击提示就到那行了
如果是执行的时候出错,你要先设定一个断点,
你在程序一开始找一行代码按F9,这样就设定了一个断点,
然后按F5执行程序,程序执行到断点会停下来,然后你只要一步一步的按F10,看代码执行到哪里出错就行了
下面是你可以参考的一些调试按键:
F5 开始调试
F9 下断点
F10 跳步执行
F11 单步执行
Shift+F5 结束调试