我正在寻找一个工具,用于调试和逐步遍历Java字节码,可视化了基本的JVM状态,包括操作数堆栈和局部变量数组,这仅仅是为了教育目的和JVM学习(对于我自己和其他人来说也是如此)。手边有这样的工具吗?
我偶然看到了由Dr. .垃圾桶开发的字节码Visualizer Eclipse插件,它允许打开字节码,并逐步遍历字节码,但它没有可视化JVM状态:
http://www.drgarbage.com/bytecode-visualizer
以下相关问题(相当老)提到了几个工具,其中一些工具允许跨过字节码,但没有一个具有JVM状态可视化:
是否有这样一个工具,能够调试简单的Java程序?或者甚至是一个简单的JVM模拟器?
谢谢!
发布于 2018-09-07 11:20:01
我已经调整了PyJVM来做你想要做的事。它为Java程序的每个线程显示了一个简单的gui (必须为Java7编译它们)。
这个工具的唯一问题是它没有GC,因为垃圾收集是由Python自己处理的。因此,线程1(守护进程)(引用处理程序)将永远不会做任何事情。Finalize方法也不会触发。
源代码可以在https://github.com/MatevzFa/pyjvm上使用(警告:源代码不是很好看),您也可以用pip安装它(实际上是pip2,因为PyJVM是用Python2编写的)。
安装:
pip install pyjvmgui升级:
pip install pyjvmgui --upgrade --no-deps我还得为它写个好的自述。
https://stackoverflow.com/questions/44308719
复制相似问题