graalvm学习(九) 如何使用ide debugger graal源码

调试vm模块

  1. 新建一个java文件
java 复制代码
public class HelloWorld
{
    public static int addwj(int x, int y) {
        return x + y;
    }

    public static void main(String[] args) {
        int lastSum = 0;
        for (int i = 0; i < 100000; i++) {
            lastSum = addwj(i, 2);
        }
        System.out.println("Sum from 0 to 4999: " + lastSum);
    }
}
  1. 执行mx命令
bash 复制代码
$ cd graal/compiler

$ mx intellijinit # 如果是eclipse可以换一下命令,或者直接ideinit

$ 使用ide打开graal/compiler目录

$ graal/vm #切换到vm目录

$ mx -p ../compiler -d vm \
    -XX:+EnableJVMCI \
    -XX:+UseJVMCICompiler \
    HelloWorld.java

$ 点击ide的debug按钮,可以看到HelloWorld文件被执行了

调试native-image的命令

bash 复制代码
$ cd graal/substratevm

$ mx intellijinit #执行之后使用ide打开substratevm目录

$ mx build

$ javac HelloWorld.java

$ mx native-image --debug-attach HelloWorld

$ 点击ide的debugger按钮
相关推荐
潘多编程15 分钟前
解锁Spring Boot 3.1 + JDK 17:分布式系统的变革力量
java·spring boot·后端
北珣.15 分钟前
安装RabbitMQ
java·spring·rabbitmq
Bluesonli1 小时前
UE5 蓝图学习计划 - Day 8:触发器与交互事件
学习·ue5·虚幻·虚幻引擎·unreal engine
成都被卷死的程序员1 小时前
从0开始,来看看怎么去linux排查Java程序故障
java·linux·运维·服务器
LUCIAZZZ1 小时前
模拟实战-用CompletableFuture优化远程RPC调用
java·spring boot·面试·rpc
学问小小谢1 小时前
第21节课:前端构建工具—自动化与模块化的利器
运维·前端·学习·计算机·自动化·电脑·硬件工程
计算机-秋大田2 小时前
基于微信小程序的医院预约挂号系统设计与实现(LW+源码+讲解)
java·spring boot·微信小程序·课程设计
bing_1582 小时前
IOC三种实现方式的区别
java·spring
代数狂人2 小时前
Java泛型深度解析(JDK23)
java·开发语言
遗憾皆是温柔2 小时前
JavaFX - 3D 形状
java·开发语言·ide·学习·3d