gpt4 book ai didi

java - 如果JVMTI不是,Java的JDI如何跨平台?

转载 作者:行者123 更新时间:2023-12-02 18:46:48 25 4
gpt4 key购买 nike

Java 的调试接口(interface)使用 JVMTI 作为后端......但是 JVMTI 需要在目标架构上进行编译,那么 JDI 使用的这些 JVMTI 函数是否已预编译并作为库随 JDK 一起提供?这意味着我可以使用那些预编译的库而不使用 JDI...是吗?我假设只有少数函数已经编译,但如果我恰好需要这些函数,那么我不需要自己编译它们。...

最佳答案

看看Java Platform Debugger Architecture :

                /    |--------------|
/ | VM |
debuggee ----( |--------------| <------- JVM TI - Java VM Tool Interface
\ | back-end |
\ |--------------|
/ |
comm channel -( | <--------------- JDWP - Java Debug Wire Protocol
\ |
|--------------|
| front-end |
|--------------| <------- JDI - Java Debug Interface
| UI |
|--------------|
  • JDI 在 JDWP 之上运行;
  • 从JVM端来看,JDWP是由jdwp代理提供的,它使用JVM TI与JVM进行通信。

jdwp agent 是一个原生库,当然是针对每个平台单独编译的。该库包含在标准 JDK 包中。因此,特定于平台的部分已经由 JDK 提供了。

关于java - 如果JVMTI不是,Java的JDI如何跨平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67331913/

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