×

c 的debugwriteline

c 的debugwriteline(怎么用debug c语言)

admin admin 发表于2024-08-02 04:12:56 浏览14 评论0

抢沙发发表评论

各位老铁们好,相信很多人对c 的debugwriteline都不是特别的了解,因此呢,今天就来为大家分享下关于c 的debugwriteline以及怎么用debug c语言的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

怎么用debug c语言

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

1、源码debug

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

#include 《stdio.h》void f() { ; }int main(){#ifdef _DEBUGprintf("start main function!\n");#endifvoid f();#ifdef _DEBUGprintf("leave main function !\n");#endifreturn 0;}

2、可执行文件调试,windows平台常用的就是vs/vc自带的调试,另外一个就是微软自家开发的调试器windbg。Linux平台以gdb为常用。

IDE自带的调试器以VC6.0为例,编写完代码后,按快截键盘F11,即可进入调试,此时右键,选择“go to  disassembly"即可查看到程序的反汇编代码 。一般这种情况,主要是为了对C语言进行反汇编学习。

Windbg的功能非常多,可以进行源码调试、可以调试可执行文件、还可以进行内核调试,也可以调试dump文件,用的多了,自然熟悉,要调试可执行文件,只需要点击”File"在弹出的对话框中选择“Open Executeable",然后找到自己要调试的程序即可。

Linux常用的是Gdb调试器,值得注意的是,要使用gdb调试,在使用gcc或者g++编译C/c++文件时,需要添加-g参数才可以生成符号表。下图是用gdb分析C++中变量分布的一张截图,大体上看一下长什么样,用的多了自然熟悉,不需要可以去学习。

c语言调试的的时候显示“Configuration: a - Win32 Debug”是什么意思

报错的意思是:Configuration: 0 - Win32 Debug:配置:0 - Win32 调试。

解决方法:

打开vc界面 点击VC“TOOLS(工具)”—》“Option(选择)” —》“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。同时shuchu虚函数一定要有实现,有了实现就不会报错了。

附上代码修正:

程序也有错误,没有定义变量i,改成这样:#include《stdio.h》void main(){int i=2518;double a=3.1415;printf("i=%d,a=%f,a*10%e\n",i,a,a*10);}

C语言dev c++,选项release,debug,profiling什么意思

debug为调试版本,加入了调式符号,你可单步跟踪执行,在单步执行的任何时候,查看变量内存等信息,便于你开发的时候消除bugprofiling模式用于性能分析,运行这个版本的可执行文件,能产生性能报告文件,用于分析性能问题release版本是你解决了bug和性能问题后,发布出来给其他人使用的版本,这种版本采用更加优化的编译选项,去除了调试符号,体积更小,执行速度更快.再看看别人怎么说的。

c#的Debug.WriteLine()和Trace.WriteLine()有没有例子

1.区别://输出跟踪信息Trace.WriteLine()将有关跟踪的信息写入Listeners集合中的跟踪侦听器在调试和release模式都输出!默认是写到输出窗口的,也可以指定写到指定文件,或系统日志中!//输出调试信息Debug.WriteLine()将有关调试的信息写入Listeners集合中的跟踪侦听器。只有调试的时候才输出。2.相同点都是为了在一些不适合断点调试的情况下,向调试窗口输出一些调试信息,以便跟踪发现程序运行的问题。你选择“视图”---》"输出"窗口,就可以看到输出的结果了;如:privateintMathTest(intx,inty){if(y==0){System.Diagnostics.Trace.WriteLine("两个数相除时,分母不能为零。");return-1;}x/=y;System.Diagnostics.Debug.WriteLine(string.Format("{0}/{1}={2}",x,y,x/y));returnx;}//测试MathTest(12,0);MathTest(12,2);

C或C++中的debug一般都怎么使用 断点有什么

设置断点F9然后工程-组建-GO开始调试,如果有多个断点,程序会在最早运行到的断点停下来这时有分几种1. step into(F11):按照代码一步步执行,如果遇到函数调用,会跟进去函数内部如果这个函数是系统函数,会变成汇编指令,按下工具栏的Disassembly 就变成普通代码了或者弹出一个查找资源的对话框,取消,按step out就回到普通界面了2. step over(F10):越过去,遇到函数会跨过去,除非这是一个自定义函数,而且你在自定义函数体里面下了断点3. step out:跳出当前所在函数,上面已经有了4.Run to cursor(ctrl+F10):在某一行代码,点一下,右击鼠标,选择Run To Cursor程序就会执行到鼠标的地方,当然,应该符合程序流程的5.break 调试时因各种原因有时会卡住,这时按break一般可以恢复要查看变量的值在下面的watch栏输入变量名既可,如果变量比较大,还可以查看memory(内存)点工具栏的memory,输入变量的地址,可以直接查看内存

C中的 Debug是什么意思

bug由甲虫、臭虫引用到程序设计中,表示程序中存在的问题,debug的意思是消灭、消除、排除这些"虫",整体意思就是调试程序找出问题使程序能正确实现功能。

c语言中debug level 是什么

debug一般只是错误级别,常用的有errorwarning等error是致命的错误,程序无法运行,warning可以运行程序相当于notice

如果你还想了解更多这方面的信息,记得收藏关注本站。