2013-02-22 50 views
26

有什麼辦法可以在給定類的所有方法上設置斷點?有什麼辦法可以在類的所有方法上設置斷點?

我有一個巨大的(2300行)遺留類,我需要在所有方法調用上設置斷點以瞭解這個混亂是如何工作的。

+3

如何只增加一個斷點,單步調試代碼?我不知道「下一步」的鍵碼,但我確定Intellij可以做到這一點。此外,Java絕對注意到了JavaScript,刪除了JS標籤。 – Cerbrus 2013-02-22 15:19:57

+2

@Cerbrus這個類的方法可能只是很少被調用,然後就不能單步執行代碼。 – lbalazscs 2013-02-22 15:37:13

+2

至少Eclipse可以做到這一點,如果Idea無法實現,那將會讓人失望http://stackoverflow.com/questions/5076385/automate-setting-breakpoints-on-all-methods – lbalazscs 2013-02-22 15:46:25

回答

9

我已經發現瞭解決方法:

1.我已經設置 「切換Brakepoint」 熱鍵Alt鍵+小鍵盤。
2.之後,你可以點擊第一個方法
3.使用 「切換Brakepoint」
4. Alt鍵 + 向下 - 轉到下一個方法。 (Alt + 向上 - 轉到上一個方法。)
5.重複3步。

+1

如果在每個課程中有10個課程和30個方法,那麼您希望將斷點放到哪個位置。 – 2017-04-14 10:53:09

0

你能夠做到你想做的事情的唯一方法就是在每個方法上設置方法斷點,並使用相關類。您需要單擊該方法旁邊的左側排水溝 - 會出現一個帶有4個點的小紅圈,並且您可能會收到警告,說明方法級斷點會影響性能。然後,您可以進一步配置斷點(通過右鍵單擊或選擇shift + F8)並將其設置爲使其在入口,出口或兩者處斷裂。

恐怕沒有辦法在單個步驟中執行此操作/設置。

3

這與謝爾蓋森科夫的答案類似,但沒有熱鍵。

在結構視圖中,單擊第一個方法。重複每個方法如下:

  1. 上下文菜單鍵
  2. 中號切換方法斷點。
  3. 向下
+0

這也需要定義某些熱鍵。 – arkascha 2017-12-14 07:31:05

0

你可以按照下面的步驟:

  1. 運行 - >查看斷點 - >添加 - > Java方法斷點

  2. 類模式 - >完整的參考您的課程(如mypackage.MyClass)

  3. 方法名稱 - > * (即星號通配符)

Example

+2

不,它不起作用。 – Malachiasz 2017-11-28 08:35:05

+0

@Malachiasz我在Intellij IDEA社區版上重新嘗試了它,它工作正常。調試器停止對類的每個顯式或隱式方法調用。我猜你必須小心包名(區分大小寫)或字段值(類模式 - >類的全部引用,方法名稱 - > *)。 – vtsamis 2018-02-12 11:15:52

相關問題