Análise dinâmica

Valgrind Memcheck

Execução com o Valgrind Memcheck

Nas plataformas Linux e macOS, o CLion integra-se com o Valgrind MemCheck para ajudá-lo a detectar erros de memória.

Ele permite que você execute destinos com o Valgrind MemCheck e, em seguida, obtenha os resultados em uma guia especial na janela "Run tool". Os usuários podem executar destinos regulares e destinos de testes de unidade com o MemCheck.

O Valgrind também está disponível no Windows com a cadeia de ferramentas WSL e no modo remoto.

Google Sanitizers

Execução com o Google Sanitizers

Para detectar problemas de endereçamento, vazamentos de memória, corridas de dados e problemas de memória não inicializada no Linux e macOS, use a integração com o Google Sanitizers no CLion.

Se você usa o Clang >= 3.8.0 ou o GCC >= 5.0.0, quando você executa/depura seu aplicativo ou seus testes de unidade com o sinalizador de compilação -fsanitize, o CLion visualiza a saída dos sanitizers em uma guia "Sanitizer" na janela da ferramentas de execução. Essa janela permite revisar a lista de erros e seus rastreamentos no IDE, navegar nos fontes, visualizar os fontes ou inspecionar as informações dos quadros.

CPU Profiler

CPU Profiler

O CLion integra-se ao CPU Profiler no Linux (Perf) e no macOS (DTrace). A criação de perfil também é possível no modo remoto e no WSL.

Você pode executar o profiler diretamente do IDE e revisar os resultados da análise em uma janela de ferramentas dedicada (View | Tool Windows | CPU Profiler).

Use o gráfico de flames, a árvore de chamadas e as listas de métodos para obter uma visão geral melhor dos possíveis issues de desempenho no seu código. Navegue até o código-fonte para localizar os problemas na base de código.

Saiba mais

Cobertura de código

Cobertura de código

Se você já fez a pergunta "Esta instrução foi executada durante a execução da configuração?", significa que está procurando uma medida da Statements Coverage (cobertura de instruções) para o seu código. O CLion possui isso graças à integração com ferramentas llvm-cov/gcov.

Além da cobertura de linha, o CLion também pode calcular a cobertura de branches (Branch Coverage). Esse método leva em consideração todos os branches de cada estrutura de controle.

Você pode obtê-lo para a execução de testes de unidade ou uma execução de configuração regular. Os resultados estão disponíveis na janela de ferramentas Coverage ou através de uma indicação de cor na medianiz esquerda do editor.

Saiba mais