Come si attiva e disattiva il debug all'interno del programma Java? Come si attiva e disattiva il debug senza ricomporre il programma java?Come eseguire il debug di un programma Java senza utilizzare un IDE?
risposta
Senza usare IDE per eseguire il debug
1) si può scrivere il programma Java con asserzioni. Quando vuoi, puoi abilitarli/disabilitarli.
2) è possibile utilizzare i registri configurati con log4j.properties. Nel programma Java è possibile specificare informazioni di debug e log ogni volta che si desidera possibile semplice configurare in log4j.properties quando si desidera visualizzare il debug o informazioni logs ecc ...
Come usiamo il logger ?? –
facilmente è possibile configurare log4j-1.3alpha0.jar, file log4j.properties e b) org.apache.log4j.Logger logs = Logger.getLogger (MyJavaFile.class); logs.info ("questo è il registro delle informazioni"); logs.debug ("questo registro di debug"); (tutti i System.out.pritnln() possono essere utilizzati in log.info() esempio logs.info ("nome utente" + nome utente); ect ...) in log4j.properties è possibile specificare: log4j.rootLogger = INFO o log4j.rootLogger = DEBUG – Akshat
@akshat ... grazie ha aiutato molto ... –
Utilizzare jdb per eseguire il debug dalla riga di comando.
Ciò detto, non ho idea di cosa significhi "attivare e disattivare il debug".
Alcune lingue richiedono il supporto del debugger da richiedere al momento della compilazione. Non in fase di runtime come java. –
Un'impostazione per la macchina virtuale Java consente il debugger ad es. jdb da allegare. Vedere http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
Questo è il bit importante:
Esecuzione MyClass in una JVM con il debug abilitato:
java -agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n MyClass
utilizzando il debugger jdb
jdb -attach jdbconn
Nota: queste impostazioni delle opzioni sono per una connessione JVM < -> debugger sulla macchina locale tramite memoria condivisa, altre impostazioni utili consentono di connettersi a una JVM su una macchina remota tramite prese di rete.
Possibili cose che il poster originale aveva in mente: 1.) Accensione e spegnimento dell'output di logging 2.) compilazione con aggiunta di informazioni di debug (simile a C/C++). – mvw
È fantastico che tu stia cercando di aiutare il richiedente. Tuttavia, in alcuni casi lasciare una risposta con un solo link può essere dannoso. Mentre la tua risposta è buona ora, se il collegamento dovesse mai morire, la tua risposta perderebbe il suo valore. Quindi sarà utile se riassumi il contenuto dell'articolo nella tua risposta. Vedi [this] (http://goo.gl/wQTjc) per chiarimenti. – pascalhein
ci sono due cose che dovete considerare:
- è necessario compilare il codice una sola volta per poter disporre delle informazioni di debug; e per impostazione predefinita, vengono generate le informazioni di debug del file sorgente e del numero di riga (documentation);
- la possibilità di eseguire il debug o non è controllata quando si richiama la JVM.
Per JVM di Oracle, questo insieme di opzioni permetterà di collegare un debugger attuazione JDWP (Java Debug Wire Protocol) sulla porta 12345 (TCP):
-Xdebug -Xrunjdwp:server=y,suspend=n,transport=dt_socket,port=12345
Annotare il suspend=n
; se si fa suspend=y
, la JVM non verrà eseguito a meno che effettivamente collegare un debugger ...
Infine, un buon collegamento che spiega gli angoli dietro JDWP, JVM [DPT] I: here
Here è anche un tutorial per jdb, già citato da altre risposte.
- 1. Come eseguire il debug di un programma compilato con 'make'?
- 2. Come eseguire il debug di test JUnit simili a un normale programma Java in Eclipse
- 3. Possiamo eseguire un programma java senza un metodo main()?
- 4. Come eseguire il debug di un deadlock?
- 5. Come eseguire un programma C semplice in Eclipse IDE
- 6. eclissi: come eseguire il debug di un programma Java come file .jar?
- 7. Come eseguire il debug di un programma quando si blocca senza l'eccezione?
- 8. eseguire un programma Java dal nostro programma Java
- 9. Come eseguire il debug di un deadlock in Java utilizzando Eclipse
- 10. Far funzionare un programma java senza threading
- 11. Come posso eseguire un programma Java nell'editor di Atom?
- 12. Impossibile utilizzare Xdebug per eseguire il debug di Code Igniter App utilizzando Netbeans 6.8 IDE
- 13. come compilare ed eseguire il programma java in un altro programma java?
- 14. Come eseguire il debug di un plug-in in Eclipse, ad esempio un progetto Java senza metodo Main
- 15. Come eseguire il debug della mia app utilizzando adb (senza IDE) android
- 16. E 'possibile abilitare il debug di un processo di Java dopo che è stato avviato senza eseguire il debug
- 17. come eseguire un comando al terminale dal programma java?
- 18. Esecuzione di un programma java da un altro programma java
- 19. Come eseguire il debug del codice Java compilato in Eclipse
- 20. Come eseguire un programma Hadoop?
- 21. Come eseguire un altro programma python senza ostacolare l'originale?
- 22. Come posso eseguire il debug (preferibilmente in un IDE) uno script MSBuild?
- 23. Come eseguire il debug di applicazioni Java Web Start?
- 24. Come eseguire il debug di un bundle in XCode?
- 25. Come si avvia un programma con argomenti durante il debug?
- 26. Come eseguire il debug di un errore di segmentazione Python?
- 27. Come eseguire il debug di un errore di richiesta ajax?
- 28. Esiste un IDE online per Java?
- 29. Come posso eseguire il debug di un trasformatore personalizzato
- 30. Come eseguire il debug di un programma racchiuso in uno script libtool?
Questo è ciò che è stato registrato per la registrazione. Puoi facilmente e semplicemente impostare lo stato di registrazione. –
Poco chiaro. Cosa vuoi fare esattamente? Come si fa a desidera eseguire il debug? – fge
Sono d'accordo con @HovercraftFullOfEels. Utilizzare la registrazione e il livello di log è impostato su quello che vuoi. –