Pour certains projets en cours, je travaille avec plusieurs structures de données qui sont assez volumineuses (dans le domaine des éléments 10K). Pour pouvoir accéder à ces données dans des listes, j'ai besoin d'utiliser des boucles et des itérateurs, ce qui peut être pénible quand la zone à problème est dans la dernière moitié de la liste. J'ai donc passé beaucoup de temps avec mon doigt sur le bouton F8 dans le débogueur d'Eclipse pour faire une boucle sur chaque élément d'une boucle d'itération. Cela devient pire lorsque vous devez parcourir cette section particulière plusieurs fois pour avoir une idée de la raison pour laquelle le code réagit d'une manière particulière. Si vous avez une idée générale combien de fois une boucle doit être exécutée avant qu'une zone de problème soit atteinte, est-il possible de définir un point de rupture de boucle à exécuter jusqu'à ce point puis de mettre en pause?Débogage des boucles
Répondre
Utiliser des points d'arrêt conditionnels.
http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F
Je crois qu'il ya une meilleure façon de le faire, mais vous pouvez créer un bloc trivial de code dans la boucle qui exécute seulement à une certaine itération, et mettre le point d'arrêt à l'intérieur de celui-ci.
if (loopIndex == 1000) {
int number = 14; //Break here
}
C'est à peu près ce que je considérais à l'origine comme une solution, mais je voulais juste savoir s'il y avait une meilleure réponse – Jason
En utilisant cet exemple:
for(int i=0;i<10000;i++){
System.out.println(i);
}
Définir un point d'arrêt sur la ligne d'impression, puis faites un clic droit dessus et sélectionnez Breakpoint Properties...
. De là, vous pouvez définir une condition pour déclencher le point d'arrêt. Ceci est similaire à un conditionnel que vous auriez dans une déclaration if. Si vous voulez déclencher le point d'arrêt quand i vaut 6000, cochez la case Conditional
et essayez ceci:
- 1. Comment tuer des boucles dans Xcode?
- 2. XAudio2, démarrage/arrêt des boucles?
- 3. Utilisation des boucles pour créer des tableaux
- 4. limite et le décalage des boucles foreach
- 5. Utilisation des boucles for ou while
- 6. boucles et conditionnels à l'intérieur des déclencheurs
- 7. Question à propos des boucles et continuez
- 8. boucles efficacité
- 9. Foreach boucles à l'intérieur foreach boucles me donnant des problèmes dans codeigniter
- 10. Boucles de messages Erlang
- 11. PHP - Perdre des données et boucler avec des boucles
- 12. Simplehtmldom - boucle, boucles, tableaux?
- 13. WPF Débogage des Datatriggers?
- 14. Débogage des fonctions javascript
- 15. Débogage des plugins jQuery
- 16. Débogage des threads C#
- 17. Débogage des programmes multiprocessus
- 18. Débogage des scénarios JBehave
- 19. Débogage des questions
- 20. Débogage des instructions SQLite
- 21. Débogage des propriétés automatiques
- 22. boucles en JavaScript
- 23. boucles d'exécution de pseudocode
- 24. boucles mélangées avec MySQL
- 25. boucles dans SML/NJ
- 26. php boucles mysql Aide
- 27. Boucles de référence
- 28. modèle et boucles while
- 29. Boucles dans Makefile
- 30. boucles dans ruby
On dirait que c'est exactement ce dont j'avais besoin. Merci! – Jason
Pourriez-vous alors marquer ceci comme "accepté"? – thejh
fait. Il s'avère que vous ne pouvez pas accepter une réponse jusqu'à 10 minutes après avoir été demandé. – Jason