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按钮
相关推荐
扶风ff3 小时前
练题簿小程序:家庭在线练题,课后复习更简单
学习·小程序
传奇开心果编程3 小时前
【Flutter入门练中学】第2课:布局系统
学习·flutter·ui
彧azz3 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
步行cgn3 小时前
Spring p 命名空间注入详解
java·前端·spring
YatHinLay3 小时前
MyBatis 流式查询实战:ResultHandler 处理海量数据
java
天天被压力3 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
一尘之中3 小时前
指挥控制中心与指控系统:概念、应用、厂商与DDS技术全景
学习·架构·ai写作
一条破秋裤4 小时前
测试A学习顺序
学习
张某布响丸辣4 小时前
附件下载的安全边界:路径白名单、NAS 哨兵文件与 Redis Lua 一次性令牌
java·redis·redis lua·nas哨兵
传奇开心果编程4 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack