从 ELF 和堆栈十六进制获取堆栈跟踪

问题描述 投票:0回答:1

我正在为运行 FreeRTOS 的 STM32 mcus 开发核心转储机制。 我设法提取正在运行的任务的堆栈,并将其传输到服务器,其中 python 脚本将其写入十六进制文件。我还可以访问用于对 STM32 进行编程的 ELF 和源代码

我的问题是如何从这个堆栈转储中提取有用的信息? 我什至不是在寻找自动化解决方案,即使是 GDB 也可以。我读过如果你给它一个 ELF 格式的核心转储,它可以做到这一点,但我不知道如何生成它

注意:堆栈指针也被提取,如果需要,我可以轻松添加更多信息,例如附加寄存器。

谢谢

c stm32 stack-memory low-level
1个回答
0
投票

很多年前就完成了。

  • 连接探头
  • 配置您最喜欢的 IDE - 例如 STM32CubeIDE
  • 配置调试会话以解码 freeRTOS 信息。

从那一刻起,在调试时,您可以使用任务、队列、计时器和信号量信息无需任何特殊的代码开销,因为插入通过调试外设从芯片读取信息。

© www.soinside.com 2019 - 2024. All rights reserved.