2011-03-09 57 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->創建符號斷點