2012-03-23 59 views
3

我經常發現Eclipse的調試模式對於依賴打印語句或日誌記錄非常有用。但是,我發現調試模式的性能似乎是,特別是對文件I/O敏感的。加載一個文件可能是方式較慢(花費時間大約25倍),而且由於我的工作流程需要在加載一個相當大的文件之前加載一些有趣的內容,這對我來說特別不方便。在Eclipse調試模式下文件I/O的速度令人難以置信

是否有任何明智的解決方法解決此問題?實際上我並不需要在文件加載過程中進行調試,那麼在這個過程的某個階段,是否可能只有跳轉到調試模式?

請注意,與this question不同,我不認爲這是我工作區狀態的問題。

回答

1

您可能以較慢的方式執行IO(小塊讀取),而調試只是放大了它,因爲每個函數調用都有開銷。

NetBeans已經有方法來指定需要分析哪些功能,所以我想看看在Eclipse中的類似選項,然後告訴它不要如果沒有按輪廓在java.*命名空間中任何東西,或者你的任何IO特定代碼沒有幫助。

我也確定你正在快速讀取你的文件(使用緩衝輸入流,不使用Scanner等)。 NIO也可能有幫助,但我不太熟悉它。

+0

這並不能真正幫助我。當不進行調試時,IO的性能很好,而且我現在不想對它進行微型優化,因爲它足夠好,而且我有更重要的關注點。我沒有使用NetBeans,顯然如果我可以在Eclipse中找到這樣的選項,那麼我不會問這個問題。 – 2012-03-23 19:04:43

2

您可以使用eclipse的遠程調試功能掛接到正在運行的應用程序。你必須有一些參數啓動您的應用程序:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y -jar yourapp.jar

然後在你的調試配置選擇遠程Java應用程序使用端口8001

與圖片的更多詳細here

相關問題