加强本单位政务网站建设,关于新农村网络建设网站,通过wordpress小程序发布文章,世界排名第几很多小伙伴刚开始听到C语言的调试#xff0c;这是个啥#xff0c;表示很怀疑#xff0c;敲代码不就是直接就是干嘛#xff0c;结果很多小白们#xff0c;一运行错误多的数都数不过来。就开始这改改#xff0c;那删删#xff0c;莫名奇妙就运行成功了。到最后都不知道到底… 很多小伙伴刚开始听到C语言的调试这是个啥表示很怀疑敲代码不就是直接就是干嘛结果很多小白们一运行错误多的数都数不过来。就开始这改改那删删莫名奇妙就运行成功了。到最后都不知道到底那错了。有一种小朋友是否有多问号的感觉。可想而知代码调试有多么重要一个正真的大佬20%在敲代码80%在调试代码。咱们不扯别的直接进入今天的主题--C语言调试。 一bug 在 Mark II 计算机上工作时电脑不能正常运作了霍普和整个团队都搞不清楚为什么。后来才发现是一只飞蛾意外飞入了一台电脑内部而引起的故障。终于把问题解除了霍普在日记本中记录下了这一事件。
二调试的重要性 ①调试的步骤
1.发现程序错误的存
2.以隔离、消除等方式对错误进行定位3.确定错误产生的原因 4.提出纠正错误的解决办法 5.对程序错误予以改正重新测试
②Debug和Release的介绍
Debug通常称为调试版本它包含调试信息并且不作任何优化便于程序员调试程序。 Release称为发布版本它往往是进行了各种优化使得程序在代码大小和运行速度上都是最优的以便用户很好地使用。 三Windows环境调试介绍
①准备调试要在Debug环境下才可以调试 ②学会快捷键
• F5启动调试经常用来直接跳到下一个断点处。在循环中跳到逻辑上的断点
• F9创建断点和取消断点。 断点的重要作用可以在程序的任意位置设置断点。 这样就可以使得程序在想要的位置随意停止执行继而一步步执行下去。
• F10逐过程通常用来处理一个过程一个过程可以是一次函数调用或者是一条语句。
• F11逐语句就是每次都执行一条语句但是这个快捷键可以使我们的执行逻辑 进入函数内部这是最常用的。
• CTRLF5:开始执行不调试。
③调试的时候查看程序当前的信息
1.查看临时变量的值 2.查看内存信息 3.查看调用堆栈 四编程常见的错误
1编译型错误 2链接型错误(无法解析的外部命令) 3运行时错误逻移出现问题
五采用相关代码来减少bug
1.const关键字const的作用可以避免无意中由于修改数据造成的编程错误。
2.const修饰指针变量的作用 3.例子模拟实现库函数strcpy
//模拟实现库函数strcpy
#includestdio.h
#includeassert.hchar* my_strcpy(char* dest, const char * src)
{char* ret dest;assert(dest ! NULL);//断言防止空指针assert( src ! NULL);//断言防止空指针//1.第一种写法//while (*dest *src) // ;//2.第二种写法while (*src ! \0){*dest *src;dest;src;}*dest *src;// \0 的拷贝return ret;
}int main()
{//初始化char arr1[] hello bit; char arr2[20] xxxxxxxxxxxxx;char* p NULL;//调用函数my_strcpy(arr2, arr1);//打印arr2printf(%s\n, my_strcpy(arr2, arr1));return 0;
} 不知不觉就到了尾声呢咱们第十章的知识点就到这里了啦作为小白的我可能写的不是很好不对的地方还请大佬大佬指点指点。