如何在JamVM中进行远程调试?

时间:2014-01-28 07:28:11

标签: java remote-debugging jamvm

我有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进行远程调试吗?

1 个答案:

答案 0 :(得分:1)

简单回答是“不”。

我实际上想要对运行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"之外我不知道任何其他方式。