网站友情链接与排名新网站建设银行提升转账额度
网站友情链接与排名,新网站建设银行提升转账额度,王烨岚,西乡做网站哪家便宜目录 一、调试介绍1.1 Debug和Release的介绍1.2 Windows环境调试介绍1.2.1 学会快捷键1.2.2 查看临时变量的值1.2.3 查看内存信息1.2.4 查看调用堆栈1.2.4 查看汇编信息1.2.5 查看寄存器信息 二、编程常见的错误2.1 编译型错误2.2 链接型错误2.3 运行时错误 三、易于调试的代码… 目录 一、调试介绍1.1 Debug和Release的介绍1.2 Windows环境调试介绍1.2.1 学会快捷键1.2.2 查看临时变量的值1.2.3 查看内存信息1.2.4 查看调用堆栈1.2.4 查看汇编信息1.2.5 查看寄存器信息 二、编程常见的错误2.1 编译型错误2.2 链接型错误2.3 运行时错误 三、易于调试的代码 一、调试介绍
1.1 Debug和Release的介绍 Debug 通常称为调试版本它包含调试信息并且不作任何优化便于程序员调试程序。 Release 称为发布版本它往往是进行了各种优化使得程序在代码大小和运行速度上都是最优的以便用户很好地使用。
1.2 Windows环境调试介绍
1.2.1 学会快捷键
F5启动调试经常用来直接跳到下一个断点处。 F9创建断点和取消断点断点的重要作用可以在程序的任意位置设置断点这样就可以使得程序在想要的位置随意停止执行继而一步步执行下去 F10逐过程通常用来处理一个过程一个过程可以是一次函数调用或者是一条语句 F11逐语句就是每次都执行一条语句但是这个快捷键可以使我们的执行逻辑进入函数内部这是最 长用的 CTRL F5开始执行不调试如果你想让程序直接运行起来而不调试就可以直接使用
1.2.2 查看临时变量的值 1.2.3 查看内存信息 1.2.4 查看调用堆栈
通过调用堆栈可以清晰的反应函数的调用关系以及当前调用所处的位置
1.2.4 查看汇编信息
1第一种方式右击鼠标选择【转到反汇编】 2第二种方式
1.2.5 查看寄存器信息 可以查看当前运行环境的寄存器的使用信息。
二、编程常见的错误
2.1 编译型错误 直接看错误提示信息双击解决问题。或者凭借经验就可以搞定。相对来说简单。
2.2 链接型错误 看错误提示信息主要在代码中找到错误信息中的标识符然后定位问题所在。一般是标识符名不存在或者拼写错误。
2.3 运行时错误 借助调试逐步定位问题。最难搞。
三、易于调试的代码
模拟实现strcpy
#include assert.h
//函数返回的是目标空间的起始地址
char* my_strcpy(char* dest, const char* src)
{char* ret dest;//断言assert(dest ! NULL);assert(src ! NULL);while (*dest*src)//*src ! \0{//*dest *src;//dest;//src;;//空语句}//*dest *src;//\0的拷贝return ret;
}int main()
{char arr1[] hello world;char arr2[20] ###############;//char* p NULL;my_strcpy(arr2, arr1);printf(%s\n,arr2);//printf(%s\n, my_strcpy(arr2, arr1));return 0;
}const修饰指针 当const放在*的左边的时候限制的是指针指向的内容不能通过指针变量改变指针指向的内容但是指针变量的本身是可以改变的。 当const放在*的右边的时候限制的是指针变量本身指针变量的本身是不能改变的但是指针指向的内容是可以通过指针来改变的。
模拟实现strlen
size_t my_strlen(const char *str)
{assert(str);int count 0;while (*str){count;str;}return count;
}int main()
{char arr[] abc;int len my_strlen(arr);printf(%zd\n, len);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91508.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!