C语言笔记6:调试

文章目录

C语言笔记6:调试

一、什么是调试

当程序中出现问题的时候,找问题并消灭问题的过程叫做调试,debug。

二、VS调试快捷键

F9:打断点,取消断点

F5:跳到下一个断点处,如果还没打断点,就直接运行结束

F10:逐过程,不想观察函数细节时使用

F11:逐语句,可跳转到函数内部

三、窗口

监视、内存、自动窗口、局部变量、反汇编、寄存器、调用堆栈等...

四、内存布局

大小端字节序

低位和高位是按照某一个内置类型变量来论。如果该变量只占一个字节,那就无所谓什么大端小端。

大端:

低地址 ------------------高地址

高位 低位

小端

低地址 ------------------高地址

低位 高位

代码:

c 复制代码
#include <stdio.h>
int main()
{
	int i = 0;
	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
	for(i=0; i<=12; i++)
	{
		arr[i] = 0;
		printf("hehe\n");
	}
	return 0;
}

栈向下增长,定义变量时就是从上往下分配空间,如果定义一个自定义类型比如数组,先分配一块大空间,然后内部数组按照下标从低地址到高地址增长给每个地址填上数据。

五、常见错误类型

编译错误

通常是语法错误

链接错误

标识符名字出错,没包含头文件,引用的库不存在。

运行时出错

程序逻辑错误等等...

相关推荐
skywalk81631 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程
额鹅恶饿呃3 小时前
C语言中的数据结构和变量
c语言·数据结构·算法
Piko6144 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
AOwhisky5 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
Piko6146 小时前
锐捷交换机 DHCP Server部署
运维·网络·笔记
取地址符7 小时前
Rust学习笔记(基于Rustlings)(2):数据结构与集合
笔记·学习·rust
捷瑞电子工坊7 小时前
C语言条件操作符(? :)——三分钟上手
c语言·条件操作符·编程基础·三目运算符
A.零点7 小时前
期末复习,408考研数据结构:第一章绪论完整知识梳理与真题深度解读
c语言·数据结构·笔记·考研
EQ-雪梨蛋花汤8 小时前
【Unity笔记】VR 一体机画面锯齿、模型边缘闪烁、接缝抖动排查:MSAA、Mipmap、Render Scale、Z-Fighting 全流程记录
笔记·unity·vr
茯苓gao8 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信