Je débogue une application Java normale, pas d'interface graphique, mais beaucoup de calculs et environ 5 appels dans la pile pour le thread principal lorsque le problème se produit. Fondamentalement, il continue à dire «collecte de données» dans la surveillance des variables locales.
Ainsi, au lieu d'aller étape par étape, j'ai essayé d'ajouter un point d'arrêt immédiatement après une pression sur "Reprendre". Maintenant, il est écrit "Attendre la fin de la dernière commande du débogueur" .
Quelqu'un at-il déjà eu ce problème? Changer le débogueur est-il le seul moyen de comprendre cela?
Sur IntelliJ (2017.1.4 Community Edition), les éléments suivants ont résolu le problème pour moi:
Relancez le débogueur.
Je viens de rencontrer ce qui ressemble au même problème. Dans mon cas, il s'agissait d'une classe (KafkaStream) dans la trace de pile de points d'arrêt avec une méthode "incorrecte" toString
. La méthode toString
bloque et par conséquent bloque le débogueur. J'ai testé la méthode toString
dans le code de la ligne principale et le processus principal s'est arrêté (c'est-à-dire qu'il ne s'agit pas d'un problème spécifique au débogueur).
Voici la trace de pile pour mon thread qui a atteint le point d'arrêt (sur une ligne qui essayait juste de tester un attribut booléen de ma classe):
Intellij fournit un moyen de contourner mon problème. Il vous permet de remplacer la manière dont le débogueur rend la classe:
Si votre problème revient, je suggère de prendre un vidage de thread (à l'intérieur ou à l'extérieur de l'EDI) et de voir ce que votre thread fait.