java – 在VisualVm中使用IntelliJ和Debug进行性能分析
发布时间:2020-12-15 04:40:06 所属栏目:Java 来源:网络整理
导读:我想描述IntelliJ启动的测试应用程序.对于分析,我使用了VisualVm. 我使用参数-J-Dorg.netbeans.profiler.separateConsole = true启动了java工具. 我使用VM参数-Xverify:none启动了应用程序,否则VisualVM会在我开始分析时抛出错误(重新定义失败,错误62) 我想
我想描述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); } } 解决方法
将断点设置为仅挂起当前线程.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容