【问题标题】:Can I set breakpoints in Cocoa framework code?我可以在 Cocoa 框架代码中设置断点吗?
【发布时间】:2011-07-11 21:04:33
【问题描述】:

我应该能够在 Cocoa 框架本身内设置断点吗?

我一直在我的 Mac OS X 应用程序中看到各种崩溃,有时是随机崩溃。这是来自 Xcode 的示例调用堆栈的一部分:

0  - 0x98ed0e20 in __CFRunLoopRun  
1  - 0x98ece464 in CFRunLoopRunSpecific  
2  - 0x98ece291 in CFRunLoopRunInMode  
3  - 0x96a90004 in RunCurrentEventLoopInMode  
4  - 0x96a8fdbb in ReceiveNextEventCommon  
5  - 0x96a8fc40 in BlockUntilNextEventMatchingListInMode  
6  - 0x925b078d in _DPSNextEvent  
7  - 0x925affce in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  
8  - 0x92572247 in -[NSApplication run]  
9  - 0x021f009c in QEventDispatcherMac::processEvents at qeventdispatcher_mac.mm:591  
10 - 0x01e47742 in QEventLoop::processEvents at qeventloop.cpp:149  
11 - 0x01e4799e in QEventLoop::exec at qeventloop.cpp:201  
12 - 0x01e49a33 in QCoreApplication::exec at qcoreapplication.cpp:1003  
13 - 0x02254c54 in QApplication::exec at qapplication.cpp:3581  

当我点击第 0 - 8 行时,Xcode 显示反汇编。

我更改了我的 Xcode 项目,使其在加载框架时使用 _debug 后缀。这使我可以单步执行第 9 到 13 行中的 Qt 代码,但第 8 行在启动时被调用,此后随时可能发生崩溃。

如果我无法设置断点,是否有任何工具可以帮助我调试此类问题?

提前致谢。

【问题讨论】:

    标签: cocoa xcode debugging macos breakpoints


    【解决方案1】:

    您可以设置一个断点,以便它在您自己之外的代码上中断。但是因为没有源代码,所以看不到源代码。

    在 xCode (3.x.x) 中 “运行->管理断点->添加符号断点”

    【讨论】:

      【解决方案2】:

      在 XCode 4 中,您可以使用

      创建符号断点

      Product->Debug->创建符号断点...

      【讨论】:

        【解决方案3】:

        在 XCode 5 中

        调试->断点->创建符号断点

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-11-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-05-17
          • 1970-01-01
          相关资源
          最近更新 更多