IDEA 的 debug 怎么实现?出于这个好奇心,我越挖越深
对 Debug 的好奇
初学 Java 时,我对 IDEA 的 Debug 非常好奇,不止是它能查看断点的上下文环境,更神奇的是我可以在断点处使用它的 Evaluate 功能直接执行某些命令,进行一些计算或改变当前变量。
刚开始语法不熟经常写错代码,重新打包部署一次代码耗时很长,我就直接面向 Debug 开发。在要编写的方法开始处打一个断点,在 Evaluate 框内一次次地执行方法函数不停地调整代码,没问题后再将代码复制出来放到 IDEA 里,再进行下一个方法的编写,这样就跟写 PHP 类似的解释性语言一样,写完即执行,非常方便。
但 Java 是静态语言,运行之前是要先进行编译的,难道我写的这些代码是被实时编译又” 注入” 到我正在 Debug 的服务里了吗?
随着对 Java 的愈加熟悉,我也了解了反射、字节码等技术,直到前些天的周会分享,有位同事分享了 Btrace 的使用和实现,提到了
共有 0 条评论