2010-09-08 16 views
6

Tengo un archivo ejecutable con código fuente compilado y quiero depurarlo usando jdb (desafortunadamente no hay otro depurador disponible en este entorno).Usa un jarrón con fuente como fuente para jdb?

soy capaz de depurar con

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

¿Cómo puedo obtener jdb para utilizar la fuente que está integrado en el archivo jar?

Notas: Java 6, AIX, ksh

Respuesta

5

Puede que no sea posible, tal como se indica en this (very old) post en los foros

+5

Agradable. El código fuente de jdb parece ignorar explícitamente las entradas * .jar y * .zip para 'sourcepath'. – kschneid

+0

@kschneid, gracias por consultar. Quédate, necesitamos más como tú. –

+0

@kschneid Ahora que Oracle se ha hecho cargo de Sun, estoy teniendo dificultades para encontrar un enlace para el código fuente de jdb :-(, pero voy a tomar su palabra. Lame. –

0

no he probado personalmente, pero tal vez la opción sourcepath permitirá a los archivos JAR: jdb -sourcepath ${JAR_FILE} ...

7

Si jdb está ignorando * .jar y * .zip entradas para sourcepath, tal vez se puede preparar una batchfile para expandir la fuente de la jarra de destino en un directorio temporal y el punto sourcepath a eso.

Algo como esto

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

De esa manera la fuente de depuración está en sincronía con el tarro y se limpia después de sí mismo.

Cuestiones relacionadas