9

ソースがコンパイルされた実行可能jarがあり、jdbを使用してデバッグしたいと思います(残念ながら、この環境で使用できる他のデバッガーはありません)。

私はそれをデバッグすることができます

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

jdbにjarファイルに組み込まれているソースを使用させるにはどうすればよいですか?

注: Java 6、AIX、ksh

4

4 に答える 4

8

jdb が .jar の *.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

そうすれば、デバッグ ソースは jar と同期され、その後クリーンアップされます。

于 2010-11-12T15:26:45.343 に答える
5

フォーラムのこの (非常に古い) 投稿に記載されているように、それは不可能な場合があります。

于 2010-09-08T16:53:36.430 に答える
0

これを個人的に試したことはありませんが、おそらくsourcepathオプションでJARファイルが許可されます。jdb -sourcepath ${JAR_FILE} ...

于 2010-09-08T14:41:51.223 に答える