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按钮
相关推荐
xian_wwq2 小时前
【学习笔记】模型权重管理:Safetensors与私有化Hub(23/35)
笔记·学习
其实防守也摸鱼2 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
ctrl_v助手2 小时前
Halcon学习笔记2
人工智能·笔记·学习
懒鸟一枚2 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
YUS云生3 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
铅笔侠_小龙虾3 小时前
Rust 学习目录
开发语言·学习·rust
我命由我123454 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑4 小时前
Sentinel安装
java·后端·微服务
渣渣灰飞5 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
六bring个六5 小时前
open Harmony中分布式软总线的学习任务清单
分布式·学习·c/c++·open harmony