En las plataformas Linux y macOS, CLion se integra con Valgrind Memcheck para ayudarle a detectar errores de memoria.
Esto le permite ejecutar objetivos con Valgrind Memcheck y luego obtener los resultados en una pestaña especial en la ventana Ejecutar herramienta. Los usuarios pueden ejecutar archivos de destino comunes y archivos de destino de pruebas de unidad con Memcheck.
Valgrind también está disponible en Windows con la cadena de herramientas de WSL y en el modo remoto.
Para detectar problemas de direccionamiento, fugas de memoria, carreras de datos y problemas de memoria sin inicializar en Linux y macOS, utilice la integración de Google Sanitizers en CLion.
En caso de que utilice Clang>= 3.8.0 o GCC>= 5.0.0, cuando ejecuta / depura su aplicación o pruebas de unidad con el indicador de compilación -fsanitize
, CLion visualiza la salida del sanitizers en una pestaña «Sanitizer» en la ventana ejecutar herramienta. Esto le permite revisar la lista de errores y sus huellas en el IDE, navegar a las fuentes, obtener una vista previa de las fuentes o inspeccionar la información del marco.
CLion se integra con el Perfilador de CPU en Linux (Perf) y macOS (DTrace). La generación de perfiles también es posible en modo remoto y en WSL.
Puede ejecutar el perfilador directamente desde el IDE y revisar los resultados del análisis en una ventana de herramienta dedicada (View | Tool Windows | CPU Profiler).
Utilice el gráfico flame, el árbol de llamadas y las listas de métodos para obtener una visión general mejor de los posibles problemas de rendimiento en su código. Navegue hasta el código fuente para localizar los problemas en la base del código.
Si alguna vez se ha planteado la pregunta: «¿se ha ejecutado esta instrucción durante la ejecución de la configuración?», eso significa que está buscando una cobertura de instrucciones (Statements Coverage) que mida su código. CLion lo tiene gracias a la integración con las herramientas llvm-cov/gcov.
Además de la cobertura de líneas, CLion también puede calcular la cobertura de ramas (Branch Coverage). Este método tiene en cuenta todas las ramas de cada estructura de control.
Puede conseguirlo para la ejecución de las pruebas de unidad o para la ejecución de la configuración regular. Los resultados están disponibles en la ventana de herramientas Coverage o mediante un indicador de color en el medianil izquierdo del editor.
Más información