我可以在Cocoa框架代码中设置断点吗?

时间:2011-03-09 12:35:04

标签: cocoa xcode debugging macos breakpoints

我应该能够在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行,之后的任何时候都可能发生崩溃。

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

提前致谢。

3 个答案:

答案 0 :(得分:2)

您可以设置一个断点,使其在您自己的代码之外中断。但由于您没有源代码,因此无法查看源代码。

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

答案 1 :(得分:2)

在XCode 4中,您可以使用

创建符号断点

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

答案 2 :(得分:2)

在XCode 5中

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