2024.8.26调试学习有感

这个代码是调试中经常出错的代码,也是nice校招时的一道经典题目

这里主要的问题是数组越界

但是编译器不会给你报错

首先明白原理,1栈区内存的使用习惯是先使用高地址的空间,再使用低地址的空间

2数组在内存中是连续的一片空间且是从低地址到高地址的

当数组越界时可能和其他变量是一个地址,改变数组越界那个元素的同时将其他元素也改了

可能就会发生死循环

调试是一名程序员的必修课 ,学会调试对于程序员来说十分重要

debug是程序员的调试版本,release是程序员的发布版本

assert函数是一个断言函数 使用时包含头文件<assert.h>当函数操作符()里的内容为假时,运行程序时会报错

F9是在程序中产生断点

f5是运行到断点处

f10是一步一步调试

f11是进入函数进行调试

注意,监视 内存 寄存器等工具必须在调试环境下才能在调试-窗口-中找到

自动窗口 是自动将调试过程中的变量去监视 自动去监视,有点自作主张的感觉,还是自己监视比较方便
局部变量也是观察上下文的
我们用的最多的还是监视 ,监视还是可以手动输入我们想观察的
监视窗口是我们用的最多的

堆栈很好的反馈了谁调用的谁很好的显示了函数调用的逻辑

十六进制中两个数为一个字节

二进制中八个数为一个字节

两个汉字为一个字节

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值