如何找出软件挂起的原因? (qemu + zephyr + tfm 的问题)
Posted
技术标签:
【中文标题】如何找出软件挂起的原因? (qemu + zephyr + tfm 的问题)【英文标题】:How to find out the cause of hanging software? (problem with qemu + zephyr + tfm) 【发布时间】:2021-05-18 12:44:40 【问题描述】:我正在 qemu 上执行一个 arm elf (zephyr os + tfm) 并让它运行一些测试。 不幸的是,它在某个点停止,没有错误消息或警告。 我也尝试过使用 GDB,但在某个时候,它就停止了。 对于同一版本,它总是在同一点停止(如果我添加一些调试打印,它会提前或稍后停止)。 我认为有一些未决的中断根本没有被捕获......老实说不知道。
因此,我的问题是:如何找出挂起软件的原因? 或者,我怎样才能检查哪个中断已经上升以停止正常执行?
【问题讨论】:
【参考方案1】:供将来参考TF-M
有一个选项可以在出现故障时启用异常信息转储打印。我将通过在cmake
配置步骤中设置以下定义来开始启用它:-DTFM_EXCEPTION_INFO_DUMP=True
【讨论】:
以上是关于如何找出软件挂起的原因? (qemu + zephyr + tfm 的问题)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Flash Builder 4 在 Flex 4 中调试挂起/挂起的 Web 服务?
如何解决运行更新时 macOS Carthage 挂起的问题?
如何从挂起的 pgPool.connect() 中获取响应/信息?