我有jamvm版本1.5.4(java版本1.5.0),我没有选择升级或更改它的方法(实际上,我认为这是最新版本)。

我非常想将远程调试器附加到我编写的一些老旧代码上,所以我的第一个念头就是这种咒语:

jamvm -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n ...


遗憾的是,那里没有骰子(无法识别-Xdebug-Xrunjdwp)。

因此,我先做了一个jamvm -help,然后又做了一个jamvm -X,并进行了一些阅读。没有任何迹象表明可以连接远程调试器。

最后,我转向我们的老朋友Googler先生,在SourceForge上发现了this问题,但没有任何答案。

所以我想我很沮丧,除非有人知道,所以这...

有什么办法可以使用JamVM进行远程调试?

最佳答案

简单的答案是“否”。

实际上,我实际上想对运行jamvm的目标硬件(ARM)进行性能分析,因为它的执行速度明显慢于运行Oracle HotSpot VM的台式机。

我已经检查了JamVM sources,但是没有隐藏的魔法。 JamVM的构建非常紧凑,因此增加了对远程调试,性能分析,JMX和其他东西的支持。

您可以使用-verbose来了解正在发生的事情。使用:class通过监视类加载,我至少能够发现巨大的性能瓶颈。

jamvm -verbose[:class|gc|jni]
   :class print out information about class loading, etc.
   :gc print out results of garbage collection
   :jni print out native method dynamic resolution


但是,由于我们的应用程序具有某种类型的HAL精简版,因此我可以使用IDE,分析器和调试器的全部功能在桌面上运行它。

如果由于某些无法在台式机上运行的特定于硬件的代码而无法执行此操作,那么不幸的是,除了执行丑陋的"printf debugging"之外,我不知道其他任何方法。

关于java - 如何在JamVM中进行远程调试?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21399355/

10-11 19:13