使用带有source作为jdb源的jar?

C. *_*oss 8 java debugging jdb

我有一个编译源代码的可执行jar,我想用jdb调试它(不幸的是,在这个环境中没有其他调试器可用).

我可以调试它

jdb -classpath "${JAR_FILE}:${CLASS_PATH}" ${MAIN_CLASS} ${ARGS}
Run Code Online (Sandbox Code Playgroud)

如何让jdb使用jar文件中内置的源代码?

注: Java 6,AIX,ksh

Kel*_*nch 7

如果jdb忽略*.jar和*.zip条目sourcepath,也许你可以创建一个批处理文件,将源从目标jar扩展到临时目录并指向sourcepath它.

像这样的东西

MYDEBUGDIR=/temp/source/mydebug
jar -xf target.jar -C $MYDEBUGDIR
jdb -sourcepath ${MYDEBUGDIR} -classpath "${JAR_FILE}:${CLASS_PATH}" ${MAIN_CLASS} ${ARGS}
rmdir -r $MYDEBUGDIR
Run Code Online (Sandbox Code Playgroud)

这样,调试源与jar同步,并且它自行清理.


C. *_*oss 5

正如论坛上这篇(非常古老的)帖子所述,可能是不可能的.

  • 尼斯.jdb的源代码似乎明确地忽略了`sourcepath`的*.jar和*.zip条目. (5认同)
  • 显然,甲骨文认为可以清除他们非常古老的论坛帖子.链接现在已经破裂.:'( (2认同)