【发布时间】:2012-12-18 07:31:48
【问题描述】:
我是嵌入式编程的新手,但我必须调试在嵌入式平台上运行的相当复杂的应用程序。我通过 JTAG 接口使用 GDB。
我的程序在某些时候以一种意想不到的方式崩溃了。我想这是由于一些与内存相关的问题而发生的。 GDB 是否允许我在系统崩溃后检查内存,从而完全没有响应?
【问题讨论】:
-
您使用的是哪种处理器?
-
它是一个名为 icyflex1 (csem.ch/docs/Show.aspx/9224/docname/CSEM-STR08-Page%2023.pdf) 的 32 位处理器,我使用的是基于 GNU 的工具链。
-
不幸的是,该文档没有提及任何有关调试的 CPU 功能。正如 Carl Norum 所提到的,您通常会捕获异常然后检查 CPU 的状态。当您遇到异常时,将有一种特定于 CPU 的方法来确定 PC 是什么。一些处理器具有调试/故障状态寄存器,可以告诉您访问了哪些错误地址以及它是代码还是数据总线。
标签: c debugging memory gdb embedded