簡體   English   中英

如何告訴visualvm在哪里找到我的源代碼?

[英]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.

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