gpt4 book ai didi

memory - FreeRTOS 应用程序的长 gdb 回溯是堆栈溢出的标志吗?

转载 作者:行者123 更新时间:2023-12-04 11:10:35 24 4
gpt4 key购买 nike

我正在为一个项目使用 FreeRTOS,并尝试使用 gdb 和 JLinkGDBServer 对其进行调试。我的问题是,当我停止执行并进行回溯时,我一行接一行地得到:

#192 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5, 
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231
#193 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5,
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231
#194 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5,
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231
#195 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5,
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231
#196 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5,
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231
#197 0x08005a88 in pxPortInitialiseStack (pxTopOfStack=0xa5a5a5a5, pxCode=0xa5a5a5a5,
pvParameters=0xa5a5a5a5)
at /home/username/storage/repos/project/third_party/freertos/portable/GCC/ARM_CM3/port.c:231

这是堆栈溢出的迹象还是什么?我在我的 FreeRTOSConfig.h 中使用 configCHECK_FOR_STACK_OVERFLOW 2 检查堆栈溢出

最佳答案

是的——这是因为 GDB 不知道什么时候停止展开状态。或者换句话说,它不知道何时到达任务堆栈帧的末尾。

默认情况下,堆栈帧的末尾会将任务留在错误函数中,因为您不应该在不删除任务的情况下从任务返回,但错误函数本身不会返回任何地方。在大多数情况下,对于大多数调试器来说这很好,但有时 GDB 可能有点热情,并且提供了 configTASK_RETURN_ADDRESS 常量以允许您用简单的 NULL 替换错误函数的地址 - GDB 不会尝试进一步展开.

为了将来引用,如果您想了解堆栈溢出,请阅读 FreeRTOS.org 网站上的堆栈溢出检测页面:http://www.freertos.org/Stacks-and-stack-overflow-checking.html

关于memory - FreeRTOS 应用程序的长 gdb 回溯是堆栈溢出的标志吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com