2011-03-09 60 views
2

我应该能够在Cocoa框架内部设置断点吗?我可以在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行在启动时会被调用,并且在此之后的任何时候都可能发生崩溃。

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

在此先感谢。

回答

2

您可以设置一个断点,以便断开您自己的代码。但是你不能看到源代码,因为你没有源代码。

在Xcode(3.xx的) “运行 - >管理Breakpoints->添加符号断点”

2

在Xcode 4您可以创建一个象征性的断点

产品 - >调试 - >创建符号断点...

2

在Xcode 5

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