【问题标题】:What am I missing about C++ exception breakpoints in Xcode 4.3?关于 Xcode 4.3 中的 C++ 异常断点,我缺少什么?
【发布时间】:2012-03-26 06:04:41
【问题描述】:

我希望能够为 Xcode (lldb) 指定要中断的所有 C++ 异常的子集。 UI 中似乎支持此功能:

但是为了我的生活,我无法让它发挥作用。如果我将其设置为默认的“所有 C++ 异常”,它会起作用,并且抛出的每个异常都会触发断点。如果我尝试按名称指定异常,则从不触发断点。

还有其他人对此有问题吗,或者这只是我的问题?

【问题讨论】:

    标签: ios xcode exception


    【解决方案1】:

    尽管有 UI,但 lldb 无法在特定 C++ 异常上设置断点,或者无法正确解析名称。

    我为std::underflow_error 设置了一个断点,然后使用lldb breakpoint list 命令,确定它只在std::underflow_error 上放置了一个符号断点:

    9: name = 'std::underflow_error', locations = 0 (pending)

    我怀疑 lldb 永远不会将 std::underflow_error 解析为构造函数。 C++ 名称修改也可能与此有关。

    如果您为所有 C++ 异常创建断点,您将看到它在 __cxa_throw 上创建了一个符号断点:

    10: name = '__cxa_throw', locations = 1, resolved = 1
    
      10.1: where = libc++abi.dylib`__cxa_throw, address = 0x01cefa44, resolved, hit count = 0
    

    您可能可以在您感兴趣的异常的构造函数中放置一个断点,假设它在同一点被实例化并抛出。

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 2012-09-10
      • 2012-03-21
      • 1970-01-01
      • 2021-05-23
      • 2012-12-25
      • 2019-10-25
      • 2011-10-28
      • 1970-01-01
      相关资源
      最近更新 更多