簡體   English   中英

Xcode調試器-通過方法調試

[英]Xcode debugger - debug through methods

我習慣於使用Visual Studio的調試器,該調試器本質上將跟蹤應用程序中的邏輯路徑,從一個方法跳轉到另一個方法,使您可以查看某些東西可能不起作用。

當我在Xcode(4.6.3)中使用'Step into'或'step over'進行調試時,我會通過一些方法,但是似乎跳入了已編譯的代碼,我迷路了。 由於這個原因,我看不到邏輯流程或事件順序,所以我做錯了什么嗎?

如何跟蹤代碼中實際完成的工作,但以一種有意義且不會向我顯示已編譯代碼的方式進行呢?

例如,我在ViewDidLoad上設置了一個斷點,因為我想查看調用該方法后發生的情況,因為我的應用無法正常工作。 其他地方的斷點沒有受到影響,所以有一個問題需要我追蹤。

因此,我的ViewDidLoad斷點被擊中,我按順序遍歷該方法,然后當調試器擊中該方法的末尾時,它會飛入已編譯的代碼中,因此我不知道事件的順序。

我認為您無法避免這個問題,因為它“飛走”的代碼很可能沒有符號,而且無論如何您都沒有源代碼。

這種情況不是Xcode獨有的。 這將在Visual Studio和其他所有O / S中發生。

一種方法是提供視圖/所有視圖的所有子類化方法(即使它們所做的只是調用[super method] ,僅此而已),並在每個方法上設置斷點。

或者,如果實例變量以意想不到的方式受到攻擊,請設置觀察點

我正面臨着完全相同的情況。 但是,下面的兩個鏈接幫助我了解了為什么會這樣。

" the option in DEBUG->DEBUG WORKFLOW->SHOW DISASSEMBLY WHEN DEBUGGING . 基本上,您首先需要在DEBUG-> DEBUG WORKFLOW-> SHOW DISASSEMBLY時取消 ”該選項。

然后,如果您要調試自己的代碼,則調試的工作方式與在Visual Studio中相同。 但是,如果您正在從某些Framework中調用您要查找的代碼,則無論“ Show Disassembly”設置如何,調試器都一定會返回到匯編代碼。

檢查這些鏈接以進一步明確。 它們是同一頁面上的答案。

XCode Debugger:為什么只向我顯示匯編程序?
https://stackoverflow.com/a/1421275/2377928
https://stackoverflow.com/a/7301489/2377928

謝謝,

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM