forgot 发表于 2025-7-23 09:48

常见 HardFault 原因排查

野指针写操作:未初始化的指针、释放后访问
栈溢出:递归过深、大局部变量
函数指针跳转失败:函数指针被覆盖、vtable损坏
中断中访问未初始化外设:未启用外设时钟
RTOS 任务栈不足:任务栈过小
DMA 覆盖代码区:错误的 DMA 目标地址

21mengnan 发表于 2025-7-25 16:41

很多都是操作了不存在的地址。

heisexingqisi 发表于 2025-7-25 17:30

这个问题可以模块化排除

wanduzi 发表于 2025-7-26 14:59

还没遇到过这种问题。

穷得响叮当侠 发表于 2025-7-28 11:53

确实,野指针问题在嵌入式开发中非常常见,一定要确保指针在使用前被正确初始化。

绝影孤狼 发表于 2025-7-28 21:40

野指针问题确实常见,建议在写操作前检查指针是否已初始化。

村支书 发表于 2025-7-29 11:38

野指针问题比较多

再见十分钟 发表于 2025-7-29 11:51

数组溢出很多,要做溢出判断

前车后炮 发表于 2025-7-29 11:52

需要用debug来排查

普通话补丁 发表于 2025-7-29 11:53

任务栈过小很常见

小暖 发表于 2025-7-29 11:54

学习一下

捉虫天师 发表于 2025-7-29 22:41

可以检查指针类的操作

捉虫天师 发表于 2025-7-29 22:47

递归的深度如何把握?

梦境摆渡人 发表于 2025-7-31 21:36

野指针问题确实常见,通常发生在指针未初始化或已经被释放的情况下。检查代码中所有指针的使用,确保它们在使用前都已经被正确初始化。

迷雾隐者 发表于 2025-8-2 09:10

野指针问题确实常见,特别是在C/C++中,未初始化的指针很容易导致程序崩溃。

earlmax 发表于 2025-8-4 10:57

访问不存在的内存地址、未初始化的指针、栈溢出或堆溢出。

minzisc 发表于 2025-8-4 15:27

避免通过地址访问已失效的局部变量。
页: [1]
查看完整版本: 常见 HardFault 原因排查