代码之家  ›  专栏  ›  技术社区  ›  C. Ross trotttrotttrott

使用源代码为JDB源的JAR?

  •  8
  • C. Ross trotttrotttrott  · 技术社区  · 14 年前

    我有一个编译了源代码的可执行JAR,我希望使用JDB对其进行调试(不幸的是,在这个环境中没有其他可用的调试器)。

    我可以用调试它

    jdb -classpath "${JAR_FILE}:${CLASS_PATH}" ${MAIN_CLASS} ${ARGS}
    

    如何让JDB使用JAR文件中内置的源代码?

    笔记: Java 6,AIX,KSH

    3 回复  |  直到 14 年前
        1
  •  7
  •   Kelly S. French    14 年前

    如果jdb正在忽略的*.jar和*.zip项 sourcepath ,也许您可以创建一个批处理文件,将源代码从目标JAR扩展到一个临时目录并指向 源代码 对此。

    像这样的东西

    MYDEBUGDIR=/temp/source/mydebug
    jar -xf target.jar -C $MYDEBUGDIR
    jdb -sourcepath ${MYDEBUGDIR} -classpath "${JAR_FILE}:${CLASS_PATH}" ${MAIN_CLASS} ${ARGS}
    rmdir -r $MYDEBUGDIR
    

    这样,调试源与JAR同步,并在自身清理之后进行清理。

        2
  •  5
  •   C. Ross trotttrotttrott    14 年前

    可能不可能,如中所述 this (very old) post 论坛上。

        3
  •  0
  •   kschneid    14 年前

    没有亲自尝试过,但可能 sourcepath 选项将允许JAR文件: jdb -sourcepath ${JAR_FILE} ...