ソースがコンパイルされた実行可能jarがあり、jdbを使用してデバッグしたいと思います(残念ながら、この環境で使用できる他のデバッガーはありません)。
私はそれをデバッグすることができます
jdb -classpath "${JAR_FILE}:${CLASS_PATH}" ${MAIN_CLASS} ${ARGS}
jdbにjarファイルに組み込まれているソースを使用させるにはどうすればよいですか?
注: Java 6、AIX、ksh
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 と同期され、その後クリーンアップされます。
フォーラムのこの (非常に古い) 投稿に記載されているように、それは不可能な場合があります。
これを個人的に試したことはありませんが、おそらくsourcepath
オプションでJARファイルが許可されます。jdb -sourcepath ${JAR_FILE} ...