Wie man die Zeilen Code zu identifizieren, in einer bestimmten Ausführung eines Java-Programms teilgenommen?

StackOverflow https://stackoverflow.com/questions/289270

Frage

Nehmen wir an, dass ich ein Java-Programm innerhalb einer IDE (Eclipse-in diesem Fall) haben. Nehmen wir nun an, dass ich das Programm ausführen und irgendwann enden sie oder es endet natürlich.

Gibt es eine praktisch Art und Weise zu bestimmen, welche Zeilen mindestens einmal ausgeführt und welche nicht (zum Beispiel der Ausnahmebehandlung oder Bedingungen, die nicht erreicht wurden?)

Eine manuelle Art und Weise, diese Informationen zu sammeln wäre, ständig mit der Debugging-Schritt und eine Reihe von Linien zu halten, wo wir mindestens einmal bestanden haben. Allerdings gibt es einige Werkzeug oder Profiler, die bereits funktioniert das?

Edit: Nur zur Klarstellung: Ich brauche diese Informationen programmatisch zugreifen zu können und nicht unbedingt von einem JUnit-Test

.
War es hilfreich?

Lösung

eclemma wäre ein guter Anfang sein: ein Code-Coverage-Tool einer Abdeckung Sitzung erlauben würde, die Daten aufzeichnen Sie suchen.


(Quelle: eclemma.org )

Andere Tipps

Was Sie fragen über ist „Abdeckung“ bezeichnet. Es gibt mehrere Werkzeuge, die messen, dass, von denen einige in Eclipse integrieren. Ich habe jcoverage und es funktioniert (ich glaube, hat eine kostenlose Probezeit, nach dem Sie es kaufen würden). Ich habe es nicht benutzt, aber Sie könnten auch versuchen, Coverlipse .

Wenn ich verstehe die Frage richtig wollen Sie mehr als die Standard-Stacktrace Daten, aber Sie wollen Ihren Code nicht manuell Instrument mit, sagen wir, log4j Debug-Anweisungen.

Das einzige, was ich denken kann, ist eine Art von Bytecode-Tracing hinzuzufügen. Siehe instrumentiert Java-Bytecode . Die Artikelreferenzen Cobertura , die ich nicht benutzt haben, aber klingt wie das, was Sie brauchen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top