2009-09-14 78 views
41

我剛開始使用xcode中的Cocoa開發,進行hello world示例。我參照「runtime debugging」部分的第6步,即XCode調試器:爲什麼只顯示我的彙編程序?

使用調試器工具欄中的跳過按鈕,開始逐步執​​行代碼。隨着每行代碼的執行,您可以檢查程序的狀態。變量的值有時用紅色表示,表示在上一步中修改了該值。 請注意,調試器在執行指定的行之前暫停。每次暫停後,您都可以添加更多斷點或選擇「調試」>「重新啓動」來終止應用程序並開始新的調試會話。

現在我在過去的一個小時裏把我的頭髮拉出來的事實是這個調試器只會顯示我的彙編代碼。我可以手動選擇我的源代碼文件,但只要點擊「逐步完成」,我就回到彙編視圖。我無法想象如何關閉彙編程序,並讓它顯示我的源代碼!

回答

109

我知道這篇文章是百年老字號,但如果你想知道如何解決在最近版本的Xcode這個問題(而不是Xcode中3),你會發現相應的設置標記始終在Xcode 6及更高版本中顯示拆卸調試>調試工作流程。確保選項爲不檢查

在Xcode中5,該選項被標記顯示拆卸下時調試>調試工作流調試。確保未選中「顯示調試時反彙編」。

返回在Xcode 4中,顯示拆卸調試時設置被下找到的產品>調試工作流程。再次確保該選項未被選中。

這也讓我發狂。

注意:上述信息仍然適用於Xcode 9+。由於Xcode的新版本已經發布,我已經對這個答案進行了更新。幸運的是,自Xcode 6以來,這個選項一直保持不變(到目前爲止)。

+1

這個設置將如何在Xcode 4.4中看起來像?我沒有選中「調試時顯示反彙編」選項,但仍然得到彙編窗口。 – AlexR 2012-08-22 12:39:25

+0

應該是一樣的,但請注意,@PeterHosey上面提到的條件也是如此。確保你正在查看你的源代碼,並且調試符號沒有被剝離。 – 2012-09-04 22:07:56

+4

XCode6呢?它現在是「始終顯示反彙編」,它在我的結尾沒有被選中,而且它太深了。 – 2014-10-01 03:28:19

1

實際上,在我發佈之前,我已經想到了這一點,但是我想挽救其他人潛在的未來頭痛,(以防萬一我以後忘記),因爲我無法通過搜索堆棧溢出來找到答案,但我找到了這I'm not alone.

從運行菜單,選擇「調試器顯示」>「僅源」,或「調試器顯示」>「源和拆卸」

10

還有其他兩件事情來確保的:

  1. 您正在查看您自己的某個函數/方法。如果您正在查看的堆棧框架是來自其中一個框架的函數或方法,則無論您如何配置Xcode,都會看到程序集。
  2. 您正在運行Debug版本。剝離調試符號(如在發佈版本中),而且即使對於自己的代碼,無論發生什麼,您都將查看彙編。
+0

沒有解決我的問題,但有趣的信息...謝謝 – Suhaib 2017-08-23 12:00:11

相關問題