打印
[方案相关]

调试过程中,程序卡死在断点处可能有几种原因

[复制链接]
楼主: 狗啃模拟
手机看帖
扫描二维码
随时随地手机跟帖
41
timfordlare| | 2024-7-17 15:47 | 只看该作者 回帖奖励 |倒序浏览
某些外设或模块需要正确的时钟配置才能正常工作。如果时钟配置错误或时钟源不正确,可能导致程序停止执行

使用特权

评论回复
42
nomomy| | 2024-7-17 19:10 | 只看该作者
与外部设备通信时,如果设备未正确响应或数据传输中断,可能导致程序停止执行

使用特权

评论回复
43
bestwell| | 2024-7-17 22:36 | 只看该作者
程序申请的内存超出了可用范围,导致内存溢出,可能会使程序崩溃或停止运行。

使用特权

评论回复
44
1564564| | 2024-7-18 18:06 | 只看该作者
亚瑟 发表于 2024-6-28 19:49
为什么有的地方打不上断点呢?

我以前别的环境遇到过,就是文件名或者路径中有中文字符或者特殊字符。

使用特权

评论回复
45
sesefadou| | 2024-7-18 19:38 | 只看该作者
中断服务程序没有正确清除中断标志,导致中断一直触发,程序无法继续执行到断点后的代码。

使用特权

评论回复
46
ccook11| | 2024-7-18 22:42 | 只看该作者
如果在断点处的代码中涉及到中断处理,可能是中断服务程序(ISR)没有正确地返回,或者中断标志没有被清除,导致重复进入中断。

使用特权

评论回复
47
1988020566| | 2024-7-19 07:50 | 只看该作者
调试器可能意外地设置了一个错误的断点,导致程序在执行到这个断点时停止。

使用特权

评论回复
48
hudi008| | 2024-7-19 10:58 | 只看该作者
程序进入了一个没有出口的循环,导致无法跳出循环继续执行。

使用特权

评论回复
49
jackcat| | 2024-7-19 14:13 | 只看该作者
程序使用的堆栈空间超出了预分配的大小,导致程序无法继续正常执行

使用特权

评论回复
50
iyoum| | 2024-7-19 17:20 | 只看该作者
可能是由于程序中的逻辑错误导致的。例如,无限循环、死循环或条件判断错误等,导致程序在执行到断点时无法继续执行

使用特权

评论回复
51
地瓜patch| | 2024-7-29 22:06 | 只看该作者
亚瑟 发表于 2024-6-28 19:50
为什么有的地方打不上断点呢?

跑不到那个位置

使用特权

评论回复
52
地瓜patch| | 2024-7-29 22:07 | 只看该作者
everyrobin 发表于 2024-7-10 23:38
单片机的硬件电路问题,如I/O口故障、时钟电路异常、内存芯片问题等

会死在硬件错误

使用特权

评论回复
53
地瓜patch| | 2024-7-29 22:07 | 只看该作者
albertaabbot 发表于 2024-7-10 05:40
如果在断点处的函数调用层次过深,或者局部变量过多,可能会导致堆栈溢出,进而使得程序状态变得不可预测, ...

这种情况没遇到过

使用特权

评论回复
54
鹿鼎计| | 2024-8-1 16:05 | 只看该作者
出现中断服务程序(isr)错误,阻止了正确返回主程序

使用特权

评论回复
55
digit0| | 2024-8-2 10:55 | 只看该作者
程序中不正确的多线程或多任务处理会导致死锁,使程序无法继续运行。

使用特权

评论回复
56
朝生| | 2024-8-2 23:10 | 只看该作者
编译器生成的代码有问题,在某些情况下会导致程序停止运行。

使用特权

评论回复
57
Pretext| | 2024-8-5 18:20 | 只看该作者
要么是软件死机,要么是外部因素导致cpu进入硬故障。

使用特权

评论回复
58
理想阳| | 2024-8-6 10:57 | 只看该作者
递归调用太深或有太多局部变量的函数会导致堆栈溢出,从而使程序停止运行。

使用特权

评论回复
59
LinkMe| | 2024-8-7 16:59 | 只看该作者
一些外设或模块需要正确的时钟配置才能正常工作。

使用特权

评论回复
60
天天向善| | 2024-8-8 14:14 | 只看该作者
调试器可能会意外设置错误的断点,导致程序在到达断点时停止。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则