|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
[JAVA] Thread deadlock debug
Salve, mi sapreste consigliare un buon tool per il debug per Java?
Ho un codice che a volte quasi subito, a volte dopo un bel po' va in deadlock. Quindi mi servirebbe qualcosa per monitorizzare varie sezioni critiche o qualcosa di simile... grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ciao, a questa pagina trovi le "trouble shooting guides". Consulta quelle più pertinenti alla tua situazione (sistema operativo, tipo di applicazione) e cerca thread deadlock.
So che c'è un handler collegato alla pressione di Ctrl-Break che stampa un dump dello stack trace dei thread sullo standard output e manda in esecuzione un algoritmo per rilevare deadlock; nel caso un deadlock venga rilevato verranno stampate ulteriori informazioni sullo standard output. [vedi questo pdf, sezione 1.16]
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
ciao, grazie per la risposta, piano piano sto prendeno un po' di mano con Ctrl-Break Handler
![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Guarda qui[guida] e qua[blog entry] (essendo una GUI dovrebbe dimostrarsi più pratica da utilizzare)
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
ciao, grazie per le altre info ma son (finalmente) riuscito a capire dov'era l'errore.
Praticamente ho (dovuto) implementare la semantica signal_and_urgent_wait su una variabile condition, solo che erroneamente nel thread che andavo a risvegliare era presente un'altra signal, quindi si creava una specie di strana cosa che raramente generava deadlock, però facendo 10000 cicli for si notava ![]() Grazie per l'aiuto banryu79 p.s. anche se a nessuno interessa il mio problema e la soluzione l'ho scritto giusto per chiarezza ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12843
|
Non vorrei sbagliarmi, ma se usi NetBeans dovrebbe esserci un monitor per i thread.
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2011
Messaggi: 381
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:02.