日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 平台调试架构JPDA

發布時間:2023/12/3 java 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 平台调试架构JPDA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??Java-JPDA 概述

JPDA:Java 平臺調試架構(Java Platform Debugger Architecture)

它是 Java 虛擬機為調試和監控虛擬機專門提供的一套接口。

?

一、JPDA

https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/

JPDA 由三個規范組成:JVMTI(JVM Tool Interface)、JDWP(Java Debug Wire Protocol)、JDI(Java Debug Interface)

這三個規范的層次由低到高分別是 JVMTI、JDWP、JDI

這三個規范把調試過程分解成幾個概念:調試者(debugger)、被調試者(debuggee)、以及它們中間的通信器

關系和作用如下圖:

JPDA 被抽象為三層實現。其中 JVMTI 是 JVM 對外暴露的接口。JDI 是實現了 JDWP 通信協議的客戶端,調試器通過它和 JVM 中被調試程序通信。

模塊層次編程語言作用JVMTIJDWPJDI
底層C獲取及控制當前虛擬機狀態
中介層C定義 JVMTI 和 JDI 交互的數據格式
高層Java提供 Java API 來遠程控制被調試虛擬機

?

二、JVMTI

https://juejin.im/post/5b029fcef265da0b83370da0

JVMTI(Java Virtual Machine Tool Interface)即指 Java 虛擬機工具接口,它是一套由虛擬機直接提供的 native 接口,它處于整個 JPDA 體系的最底層,所有調試功能本質上都需要通過 JVMTI 來提供。

通過這些接口,開發人員不僅調試在該虛擬機上運行的 Java 程序,還能查看它們運行的狀態,設置回調函數,控制某些環境變量,從而優化程序性能。

1.定義及原理

JVMTI 本質上是在 JVM 內部的許多事件進行了埋點。通過這些埋點可以給外部提供當前上下文的一些信息。甚至可以接受外部的命令來改變下一步的動作。

外部程序一般利用C/C++實現一個JVMTIAgent,在Agent里面注冊一些JVM事件的回調。當事件發生時JVMTI調用這些回調方法。Agent可以在回調方法里面實現自己的邏輯。JVMTIAgent是以動態鏈接庫的形式被虛擬機加載的。

2.歷史

JVMTI 的前身是 JVMDI(Java Virtual Machine Profiler Interface) 和 JVMPI(Java Virtual Machine Debug Interface),它們原來分別被用于提供調試 Java 程序以及 Java 程序調節性能的功能。

在 J2SE 5.0 之后 JDK 取代了JVMDI 和 JVMPI 這兩套接口,JVMDI 在最新的 Java SE 6 中已經不提供支持,而 JVMPI 也計劃在 Java SE 7 后被徹底取代。

3.功能

JVMTI 處于整個 JPDA 體系的最底層,所有調試功能本質上都需要通過 JVMTI 來提供。

從大的方面來說,JVMTI 提供了可用于 debug 和 profiler 的接口;同時,在 Java 5/6 中,虛擬機接口也增加了監聽(Monitoring),線程分析(Thread analysis)以及覆蓋率分析(Coverage Analysis)等功能。

從小的方面來說包含了虛擬機中線程、內存、堆、棧、類、方法、變量,事件、定時器處理等等諸多功能。具體可以參考?oracle 的文檔。

通過這些接口,開發人員不僅可以調試在該虛擬機上運行的 Java 程序,還能查看它們運行的狀態,設置回調函數,控制某些環境變量,從而優化程序性能。

4.實現

JVMTI 并不一定在所有的 Java 虛擬機上都有實現,不同的虛擬機的實現也不盡相同。不過在一些主流的虛擬機中,比如 Sun 和 IBM,以及一些開源的如 Apache Harmony DRLVM 中,都提供了標準 JVMTI 實現。

?

三、JDWP

JDWP(Java Debug Wire Protocol)是一個為 Java 調試而設計的一個通訊交互協議,它定義了調試器和被調試程序之間傳遞的信息的格式。

在 JPDA 體系中,作為前端(front-end)的調試者(debugger)進程和后端(back-end)的被調試程序(debuggee)進程之間的交互數據的格式就是由 JDWP 來描述的,它詳細完整地定義了請求命令、回應數據和錯誤代碼,保證了前端和后端的 JVMTI 和 JDI 的通信通暢。

比如在 Sun 公司提供的實現中,它提供了一個名為 jdwp.dll(jdwp.so)的動態鏈接庫文件,這個動態庫文件實現了一個 Agent,它會負責解析前端發出的請求或者命令,并將其轉化為 JVMTI 調用,然后將 JVMTI 函數的返回值封裝成 JDWP 數據發還給后端。

另外,這里需要注意的是 JDWP 本身并不包括傳輸層的實現,傳輸層需要獨立實現,但是 JDWP 包括了和傳輸層交互的嚴格的定義,就是說,JDWP 協議雖然不規定我們是通過 EMS 還是快遞運送貨物的,但是它規定了我們傳送的貨物的擺放的方式。

在 Sun 公司提供的 JDK 中,在傳輸層上,它提供了 socket 方式,以及在 Windows 上的 shared memory 方式。當然,傳輸層本身無非就是本機內進程間通信方式和遠端通信方式,用戶有興趣也可以按 JDWP 的標準自己實現。

?

四、JDI

JDI(Java Debug Interface)是三個模塊中最高層的接口,在多數的 JDK 中,它是由 Java 語言實現的。

JDI 由針對前端定義的接口組成,通過它,調試工具開發人員就能通過前端虛擬機上的調試器來遠程操控后端虛擬機上被調試程序的運行,JDI 不僅能幫助開發人員格式化 JDWP 數據,而且還能為 JDWP 數據傳輸提供隊列、緩存等優化服務。

從理論上說,開發人員只需使用 JDWP 和 JVMTI 即可支持跨平臺的遠程調試,但是直接編寫 JDWP 程序費時費力,而且效率不高。因此基于 Java 的 JDI 層的引入,簡化了操作,提高了開發人員開發調試程序的效率。

?


https://blog.csdn.net/duqi_2009/article/details/94518203

https://www.ibm.com/developerworks/cn/java/j-lo-jpda1

總結

以上是生活随笔為你收集整理的Java 平台调试架构JPDA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 插插插插综合 | 九九视频免费在线观看 | 中文字幕在线观看日本 | 人妻少妇精品无码专区二区 | 奴色虐av一区二区三区 | 孕妇毛片 | 亚洲va在线观看 | 91久久人澡人人添人人爽欧美 | 精品三级在线观看 | 久人人| 狂野少女电影在线观看国语版免费 | 亚洲欧洲在线观看 | 青青操狠狠干 | 欧美 日本 国产 | 四虎在线免费观看 | 亚洲AV无码乱码国产精品牛牛 | 欧洲精品久久久久毛片完整版 | 精品欧美一区二区久久久 | 仙踪林久久久久久久999 | 中国女人做爰视频 | va婷婷| 国产精品一区二区在线观看 | 国产在线黄色 | xxx色| 亚洲一区二区三区黄色 | 国产91免费在线观看 | 国产黄色大片在线观看 | 亚洲精品在线播放视频 | 西西人体大胆4444ww张筱雨 | 亚洲大片在线观看 | 亚洲欧美日韩高清 | 美女二区 | 日韩免费观看一区二区 | 日本成人激情视频 | 人人澡人人草 | 我想看一级黄色片 | 亚洲综合视频在线观看 | 国内自拍视频网站 | 爱情岛论坛永久入址测速 | 成人三级晚上看 | 久久精品香蕉视频 | 中国国产毛片 | 免费在线观看黄色片 | 六十路息与子猛烈交尾 | 日韩精品无码一区二区三区久久久 | 九九九色| av黄色片在线观看 | 亚洲av女人18毛片水真多 | 精品国产无码在线 | 久久sp| www.人人干 | 国产黄av | 国产美女精品一区二区三区 | 成年人福利网站 | 国产淫片av片久久久久久 | 国产精品久久久av | 日日草 | 日本黄色xxxx | 国产精品扒开腿做爽爽爽a片唱戏 | 日韩黄色一级片 | 成人1区| 欧美一区二区三区 | 人成网站在线观看 | 久操成人 | 欧美xxxx888| 国产乱淫av免费 | 国产视频第三页 | 538国产精品视频一区二区 | 久久高清无码视频 | 日韩在线一二三区 | 误杀1电影免费观看高清完整版 | 99无码熟妇丰满人妻啪啪 | 性高潮久久久久久久 | 国产精品美女在线 | 国产精品美女网站 | 国产免费黄色录像 | 青青草香蕉 | 朱竹清到爽高潮痉挛 | 国产福利影院 | 亚洲free性xxxx护士hd | 特级毛片在线播放 | 国产福利av| 精品肉丝脚一区二区三区 | 欧美精品一二三四 | 色播五月激情 | 亚洲不卡视频在线观看 | 日韩免费av一区二区 | 日本在线有码 | 草草影院网址 | 久久人人澡 | 操比视频网站 | 一本一道av | 中国少妇初尝黑人巨大 | 精品久久人人妻人人做人人 | 毛利兰被扒开腿做同人漫画 | 国产黄色在线网站 | 免费看黄视频的网站 | 性欧美一区 | 亚洲三级视频 |