即使您没有源代码并且没有使用 -g 编译,也可以使用 JDB 检查调用参数吗?

问题描述

我试图通过调用 java.lang.Runtime.addShutdownHook(java.lang.Thread) 找出所有注册关闭处理程序的人,我使用 jdb 因为我需要在非常慢的终端上进行远程调试,可以'不做任何GUI。如果您知道更好的命令行 Java 调试器,请告诉我,但请不要推荐 eclipse。好的,所以我设置:

stop in java.lang.Runtime.addShutdownHook(java.lang.Thread)

它停止了。但由于没有来源,locals 命令不起作用。然而,必须有一种方法来检查调用堆栈和参数,即使我们不知道它们的名字!同样,如果可以在返回时停下来检查返回值,那就太好了。

当您获得没有来源的代码时,是否有任何方法可以突破到 JVM 伪代码反汇编并在低级别上工作,就像您可以使用 GDB 那样做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...