2009-11-25 46 views
0

例如:我在模擬器中運行我的應用程序。然後我想知道當我按下按鈕時究竟發生了什麼。通常我首先必須找出所有這些瘋狂的入口點是爲了放置一個斷點。但現在讓我們假設我的應用程序有700個類,它非常複雜,有超過12000個方法。機會很大我根本不知道在哪裏放置斷點。就理論而言。如何讓調試器在任何地方停下來?

如何讓調試器在下次發生什麼事情時在任何地方停止?我知道我可以在我的應用程序運行時將其打開/關閉,這很好,但是有沒有辦法讓它的行爲像應用程序中的每一行都有斷點一樣?希望你明白我的意思。我的英語很糟糕。謝謝。

回答

2

你需要的是符號斷點。有關簡要說明,請參閱here

+0

感謝您的鏈接,但我真的想停止*任何地方*,而不僅僅是例外。只要我啓用調試,我希望被調用的下一個方法或函數自動成爲「斷點」。難以解釋...... – 2009-11-25 16:05:54

+2

符號斷點不僅停止異常,它只是例外中常用的異常。您可以使用任何類的任何方法作爲符號斷點。 – TechZen 2009-11-25 19:31:09

1

...有沒有辦法讓它表現 一樣,如果在應用程序中的每一行有上有一個 斷點?

聽起來好像你在問「step over」命令。您設置一個斷點,以便應用程序停止在特定行。然後你可以使用「step over」命令移動每一行代碼。這可以讓您觀察每條線的細節。

您不能逐行運行整個應用程序,因爲調試器必須在邏輯上遵循包括編譯庫中的所有命令在內的所有命令。如果您試圖按照啓動的每一條命令進行操作,則需要花幾個小時的時間才能通過彙編進入初始視圖。

2

我不知道,如果你要求的技術是在實踐中真正可用,但-[UIApplication sendEvent:]添加符號斷點和/或-[UIApplication sendAction:to:from:forEvent:]將被觸發的事件時至少休息/執行,而不是試圖逐步完成每行一個動作。

當它中斷時,您可以繼續按照其他答案中所述的「step over」命令查找相關的代碼段。你可以玩弄其他可能接近你要找的東西的斷點。

相關問題