【问题标题】:XCode: Find out what exception was thrown while stopped at an exception breakpointXCode:找出在异常断点处停止时引发的异常
【发布时间】:2026-02-01 11:15:01
【问题描述】:

我在异常断点处停止。如何使用 LLDB 控制台来判断引发了哪个异常?

根据this comment,我应该可以键入po $r0 来查看异常对象“因为它作为第一个参数传递给objc_exception_throw”,但是这个寄存器在ARM64 上似乎不存在。

阅读iOS ABI Function Call Guide 后,我也尝试了po $x0,但寄存器x0x18 都是空的。

我在 ARM64 上使用 XCode 5.1、iOS 7.1。

【问题讨论】:

  • 您确定选择了正确的堆栈帧(即 objc_exception_throw 帧)吗?
  • 啊!做到了。谢谢
  • 我会把它作为后代的答案。

标签: ios xcode arm64


【解决方案1】:

您确定选择了正确的堆栈帧(即 objc_exception_throw 帧)吗?

根据this answer,您的po $x0 应该可以工作。

【讨论】:

  • ARM64 上的替代方案也是 po $arg1po $arg6。感谢您的帮助
  • @bcattle 嗯!我不知道。酷!