簡體   English   中英

Java內聯調試代碼

[英]Java Inline Debug Code

我在這里尋找一些最佳實踐建議。 我有一個庫,我想向(想想System.out.println)添加一些調試代碼,該調試代碼僅在配置文件中設置了標志時才執行。

這相當瑣碎,並且在我進行過程中將具有所需的輸出以幫助調試程序。 話雖這么說,看來我的工作代碼周圍還有很多if(DEBUG)語句,這似乎很繁瑣。 我不太擔心代碼的效率,而更擔心在實際執行的語句和僅用於調試的語句方面的可讀性。

我了解,對於大多數IDE,我可以簡單地逐步執行代碼以有效地為自己提供更多手動調試選項,但是我發現,對於任何足以進行迭代的代碼庫,該方法都比將其轉儲到控制台更麻煩。 。 我想另一種選擇是使用具有DEBUG設置的日志記錄框架,但是我仍然覺得多余的日志記錄說明就像將它們運送到控制台一樣丑陋。

我在這里缺少什么選擇嗎? 他們的Java調試框架是否使其更清潔? 作為參考,我想知道何時調用某些特定方法,以及執行中不同點的各種對象的字符串表示形式。

提前致謝。

我不太了解您的問題,但是我仍然建議您使用日志框架,例如log4j,它允許您選擇將日志信息生成到文件,數據庫或控制台。 使用system.out強大得多。

您可以使用AspectJ保持注銷生產代碼並使之更易於閱讀。 使用正確的切入點,您可能也不需要編寫幾乎相同的調試代碼。 如果您花費大量時間進行調試,請考慮進行單元測試或更嚴格的開發方法。 另外,切勿在拋出異常時捕獲異常並記錄日志。

在IntelliJ IDEA中,您可以將記錄消息或評估表達式的斷點添加到控制台。 當它達到斷點時,它將簡單地記錄並繼續執行。

我經常將其與條件斷點結合使用,以充當調試語句並更清楚地了解我的代碼在調試期間的工作。

很酷的事情是,您不必修改源代碼,因為日志記錄語句是在調試器的運行時添加的。

我認為Eclipse可以讓您做同樣的事情。

暫無
暫無

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

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