且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JPDA 架构研究11 - Agent利用环境指针访问VM(断点操作篇)

更新时间:2022-08-21 16:23:14

引入:

上文我们讲解了Agent如何利用环境指针访问VM(操作局部变量篇),这里主要关注于如何操作断点。

这个在调试期间非常频繁的被使用。


分类7:断点操作

a.SetBreakPoint.设置断点,它会产生一个BreakPoint事件。

jvmtiError
SetBreakpoint(jvmtiEnv* env,
            jmethodID method,
            jlocation location)

设置断点指令。从这里可以看出需要传两个参数,一个是被设断点的方法,一个是方法内此断点的指令位置。这和我们设置断点过程是精确一致的。


b.ClearBreakPoint.清除断点。

jvmtiError
ClearBreakpoint(jvmtiEnv* env,
            jmethodID method,
            jlocation location)




本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1587766,如需转载请自行联系原作者