[英]How do I tell visualvm where to find my source code?
我正在運行VisualVM來分析一個簡單的Java應用程序。 當我在性能分析窗格中雙擊一個方法(希望獲得更多詳細信息)時,它會顯示“找不到類....的源”。 我知道來源在哪里。 如何告訴VisualVM在哪里看?
在顯示錯誤對話框時,我對VisualVM進程進行了堆棧轉儲,看來問題出在方法openSourceImpl
org.netbeans.modules.profiler.api.GoToSource類中。
此方法嘗試使用GoToSourceProvider
服務提供程序接口的任何已注冊實現加載源,如果它們均未設法顯示相關源代碼,則顯示錯誤消息。
我的猜測是,VisualVM的當前默認版本沒有注冊任何GoToSourceProviders
,因此將始終無法查找源代碼。
從軟件包名稱中可以看出, GoToSourceProvider
是用於探查器模塊的SPI,但是我找不到任何有關如何實現此SPI的文檔,而且它似乎也不是VisualVM擴展點的一部分。
您好,實際上在NetBeans IDE中實現了類似VisualVM的功能(我正在使用8.0.2)。 您只需單擊Profile->Project Profile
。 單擊后向您顯示源代碼正在此處工作。 但是不幸的是,沒有更詳細的信息,哪些代碼行花費的時間最多。
為此,我將修改代碼,並使用
long beg = System.nanoTime()
lineISuspect
sum += System.nanoTime() - beg;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.