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

引入:

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

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


分类7:断点操作

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

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

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


b.ClearBreakPoint.清除断点。

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


你可能感兴趣的:(jvmti,jpda,JDWP)