我已经获得了卡姆版本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,然后读了一些东西。没有任何迹象表明有可能附加远程调试器。
最后,我转向我们的老朋友谷歌先生,发现这的问题在SourceForge上没有答案。
所以我想我失败了,除非有人不知道,所以这.
有没有办法用JamVM?进行远程调试?
发布于 2014-09-03 12:26:51
简单的答案是“不”。
实际上,我一直想对运行jamvm的目标硬件(ARM)进行分析,因为它的执行速度要比运行Oracle的桌面上慢得多。
我检查了JamVM源,但是没有隐藏的魔法。JamVM构建得非常紧凑,因此增加了对远程调试、分析、JMX和诸如此类的支持,会使VM变得臃肿。
您可以做的是使用-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尽管如此,由于我们的应用程序有某种瘦硬件,所以我可以使用IDE、分析器和调试器的全部功能在桌面上运行它,这正是我的建议。
如果由于某些特定于硬件的代码无法在桌面上运行,这是不可能的,不幸的是,除了执行丑陋的"printf调试“之外,我不知道其他方法。
https://stackoverflow.com/questions/21399355
复制相似问题