gpt4 book ai didi

java - 使用带调试的 IntelliJ 在 VisualVm 中进行分析

转载 作者:搜寻专家 更新时间:2023-11-01 01:31:46 25 4
gpt4 key购买 nike

我想分析由 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);
}
}

最佳答案

设置断点只挂起当前线程。 enter image description here

关于java - 使用带调试的 IntelliJ 在 VisualVm 中进行分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com