Dynamische Analyse

Valgrind Memcheck

Ausführung mit Valgrind Memcheck

Auf Linux- und macOS-Plattformen kann CLion mit Valgrind Memcheck integriert werden, um Speicherfehler zu erkennen.

Auch Ziele können mit Valgrind Memcheck ausgeführt werden. Die Ergebnisse werden auf einer speziellen Registerkarte im Ausführen-Toolfenster angezeigt. Benutzer können mit Memcheck sowohl reguläre Ziele als auch Ziele von Unit-Tests ausführen.

Valgrind ist unter Windows auch für die WSL-Toolchain und im Remote-Modus verfügbar.

Google Sanitizers

Ausführung mit Google Sanitizers

Die Integration von Google Sanitizers in CLion ermöglicht, Probleme mit der Adressierbarkeit, Speicherverlusten, Data Races und uninitialisierten Speicherverlusten unter Linux und macOS zu erkennen.

Wenn Sie das Ausführen/Debuggen Ihrer Anwendungen oder Unit-Tests mit dem Compiler-Flag -fsanitize mittels Clang >= 3.8.0 oder GCC >= 5.0.0 vornehmen, stellt CLion die Ausgabe von Sanitizers in der Registerkarte „Sanitizer“ im Ausführen-Toolfenster dar. Dies ermöglicht, die Liste der Fehler und ihrer Traces in der IDE zu überprüfen, zu Quellen zu navigieren, eine Vorschau der Quellen anzusehen oder Frameinformationen zu prüfen.

CPU Profiler

CPU Profiler

CLion lässt sich unter Linux (Perf) und macOS (DTrace) in CPU Profiler integrieren. Profiling ist auch im Remote-Modus und auf dem WSL möglich.

Sie können den Profiler direkt über die IDE ausführen und das Ergebnis der Analyse im zugehörigen Toolfenster überprüfen (View | Tool Windows | CPU Profiler).

Nutzen Sie das Flame-Diagramm, den Abrufbaum und die Methodenlisten, um eine bessere Übersicht über mögliche Leistungsprobleme in Ihrem Code zu erhalten. Navigieren Sie zum Quellcode, um diese Probleme auf der Codebasis aufzuspüren.

Weitere Informationen

Code-Coverage

Code-Coverage

Wenn Sie sich jemals die Frage „Wurde diese Anweisung während des Konfigurationslaufs ausgeführt?“ gestellt haben, dann brauchen Sie eine Statements Coverage-Prüfung für Ihren Code. CLion erfüllt diese Anforderung durch die Integration der Tools llvm-cov/gcov.

Zusätzlich zur Line-Coverage kann CLion auch die Branch-Coverage berechnen. Diese Methode berücksichtigt alle Zweige in den einzelnen Kontrollstrukturen.

Sie können sie für Unit-Test-Läufe oder reguläre Konfigurationsläufe verwenden. Die Ergebnisse werden im Coverage-Toolfenster oder über farbige Markierungen in der linken Randleiste des Editors bereitgestellt.

Weitere Informationen