簡體   English   中英

使用IntelliJ和Debug進行VisualVm的分析

[英]Profiling in VisualVm Using IntelliJ with Debug

我想描述IntelliJ啟動的測試應用程序。 對於分析,我使用了VisualVm。

我使用參數-J-Dorg.netbeans.profiler.separateConsole=true啟動了java工具。

我使用VM參數-Xverify:none啟動了應用程序,否則VisualVM會在我開始分析時拋出錯誤(重新定義失敗,錯誤62)

我想在執行任何重要代碼之前分析我的應用程序,所以我嘗試設置一個斷點並在VisualVM中開始分析。 問題是當我在斷點處等待時,VisualVm不響應任何交互。 我錯過了什么嗎?

在正常執行(沒有調試)中,我的程序等待輸入,所以我可以在不調試的情況下對其進行分析。 但是,如果一個程序沒有這樣的“等待點”呢?

我的測試應用程序看起來像:

package my.visualvm.example;

import java.util.Scanner;

public class MainClass {

    public static void main(String[] args) {

        System.out.println("Starting Application: " + MainClass.class.getSimpleName());

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNext()) {
            double value = scanner.nextDouble();
            if (value == 0d) {
                break;
            }
            System.out.println(Powa.powaPowa(value));
        }

        System.out.println("Stopping Application: " + MainClass.class.getSimpleName());
    }

}

其他課程:

package my.visualvm.example;

final class Powa {

    private Powa() {
    }

    static double powaPowa(double powa) {
        return Math.pow(powa, 2);
    }
}

將斷點設置為僅掛起當前線程。 在此輸入圖像描述

暫無
暫無

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

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