调试以及相关的点

 debug 和release

Debug有调试  且因为有调试的东西文件较大   无优化  ; release无调试  文件较小 且系统自动优化较多   (下面有解释)

 常用调试键

 F11如果碰到函数,则是进入函数内部去调试   F10如碰到函数会直接跳过 不进入函数

 对于断点  若在循环里面且没有限制 那就会存在多个断点  若加限制条件则不会出现上述情况

 

调试

调试可以用监控和内存去看本质上的问题 

 

 出现的特殊bug

 

在栈区 内存的使用是谁先创造谁的内存就最高  越晚创造的就越低 (默认是这样 但是也可能会与其相反,在不同环境中其使用效果不一样  )    而该题巧妙地利用了内存的问题制造出了bug 使越界的数组和i共用一个内存   从而死循环打印hehe,系统由于死循环而无法报错(关于数组越界)   如果把i的创建放在数组后面  则不会出现该情况  其就会报错(系统有时间进行报错),会打印13个hehe  。如果不是该环境也不会出现该情况  因为每个环境的空出的空间不一样     

上述讲到release会对代码进行优化  如debug版本出现死循环 则到release版本则会对该代码进行优化 使i内存位置在数组下面 从而不会出现bug 对其优化 这就是release的优化  而debug不会对代码有任何优化

 监控的数组特殊情况

在主函数内只要输入arr就能看到数组中所有值的情况     而到了其他函数内arr只能代表第一个值   比如一维数组中其只能代表第一个值  如果要代表所有值则要写arr,n(数组含有的值的数量)。比如二维数组则arr代表二维数组第一排  若要展现出所有值则要arr,n(数组中的所有行)  

 关于为什么要这么写现在我所学知识太少不能够深入 等以后学得多了就能了解清楚(现在没必要理解)

写代码时出现的错误分类

 一般是语法出现问题 如上

一般指没有引用正确,导致链接错误 不能运行  如上 

能运行 但结果跟我们想要的结果不一样  这时候需要调试去找出问题所在 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值