Para cada destino no seu projeto (para projetos do CMake, Makefile e Gradle), o CLion gera uma configuração que pode ser criada e executada e permite que você configure ferramentas externas para executar antes/após a fase de compilação em uma caixa de diálogo da interface de usuário separada.
Use modelos de configuração para criar configurações para testes de unidades, depuração remota ou execução comum de aplicativos.
Você pode alterar o executável de qualquer configuração de sua escolha ou até mesmo tornar uma configuração não executável, alterando esse valor para "Not selected".
Compile seu projeto pressionando Ctrl+F9 e execute a configuração selecionada no momento com Shift+F10.
Para depurar, pressione Shift+F9.
Para ajudá-lo a inspecionar o estado do seu código durante a depuração, o CLion equipa você com muitos atalhos úteis, como "Step over/into" (F8/F7), "Step out" (Shift+F8) ou "Run to cursor" (Alt+F9).
Build Targets independentes do sistema de compilação permitem adicionar destinos personalizados e configurar quaisquer ferramentas a serem usadas para compilar/limpar o destino.
Para executar e depurar destinos personalizados do CLion, crie uma configuração de execução/depuração correspondente usando o modelo Custom Build Application.
Para acelerar seus ciclos de desenvolvimento no CLion ao trabalhar com o CMake ou projetos de banco de dados de compilação, use a função Recompile (Shift+Ctrl+F9). Essa função executa novamente a compilação para um arquivo selecionado, sem acionar a recompilação de todo o projeto.
Ao usar o CMake, alterne entre perfis do CMake (e tipos de compilação) usando o alternador de configurações de execução na barra de ferramentas ou no pop-up do alternador de configurações Run (Shift+Alt+F10)/Debug (Shift+Alt+F9).
O CLion usa PTY como uma unidade de E/S, o que significa que você pode esperar um comportamento semelhante à execução do seu projeto em um terminal, até mesmo no Windows.
O CLion se integra ao back-end GDB em todas as plataformas e ao LLDB no macOS e Linux.
O CLion permite que você depure processos, executados na mesma máquina ou em uma máquina remota, mas não iniciados no IDE, anexando-os com o uso do PID ou do nome desses processos. Beneficie-se com a UI do depurador integrado do CLion.
O CLion inclui um depurador integrado para ajudá-lo a inspecionar a execução do seu código. Você pode selecionar entre vários tipos de pontos de interrupção no CLion (todos os pontos de interrupção podem ser revisados em uma caixa de diálogo separada (disponível em Ctrl+Shift+F8):
Com uma ação Set Execution Point to Cursor, você pode mover-se para frente e para trás na execução do seu programa durante a depuração, interromper loops ou reiniciá-los, selecionar outro branch em uma cláusula if-else
ou instrução switch-case
e até mesmo pular loops completamente. O processo é tão simples quanto arrastar e soltar uma seta na medianiz até a linha de seu interesse.
A descrição de todas as variáveis disponíveis, incluindo o conteúdo de contêineres STL, é inserida na guia "Variables" da janela de ferramentas "Debug". Lá, você pode observar e até mesmo alterar qualquer valor sem interromper a sessão de depuração atual:
A guia GDB/LLDB fornece acesso ao console GDB/LLDB, enquanto as visões Frame e Watches ajudam a investigar qualquer problema com mais detalhes. Como bônus, ao selecionar um símbolo para inspeção, você pode se beneficiar com complementação automática.
Além disso, basta pressionar Alt+F8 para avaliar qualquer expressão durante uma sessão de depuração.
Com esse recurso, você pode exibir valores de variáveis atuais diretamente no editor (ao lado da declaração de variável). Não é necessário alternar para a guia "Variables" da janela de ferramentas "Debug"!
Leia o código assembly, realçado corretamente no editor, e percorra-o para investigar o problema.
Enquanto percorre o código de assembly, adicione/remova pontos de interrupção em linhas de instrução. Para a configuração não padrão desses pontos de interrupção de endereço, use o menu de contexto com o botão direito do mouse.
Com suporte para GDB e LLDB.
A exibição "Memory" esvazia a memória atrás do ponteiro no modo de depuração. Para invocá-la, selecione uma variável de ponteiro na exibição de variáveis do depurador e pressione Ctrl+Enter.
Durante a revisão, se a exibição "Memory" estiver aberta, o CLion realçará as alterações de memória que ocorrerem na memória selecionada.
Navegue até um endereço específico na memória a partir da exibição "Memory". Use o valor hexadecimal que representa um endereço, uma variável de ponteiro ou chame o endereço (&
) de qualquer variável na qual você esteja interessado.
O preenchimento de código ajudará você com os símbolos conhecidos.
O CLion pode executar e depurar sua aplicação com privilégios root: você só precisa selecionar essa opção na configuração de Execução/depuração correspondente. Isso funciona para aplicações CMake, Makefile, Gradle Native, Custom Build e CTest.
Uma ação Run | Open Core Dump… permite que você abra um core dump existente de um processo travado no CLion e depure-o lá. Os usuários podem inspecionar a exibição de quadros e variáveis, verificar a memória e a exibição de disassembly, avaliar expressões e executar comandos do depurador no console do depurador.
Ao depurar aplicações com multithreading, você precisa rastrear múltiplos threads ao mesmo tempo. A exibição Parallel Stacks está implementada como uma aba separada na janela de ferramentas Debug e mostra informações da pilha de chamadas de thread de todos os threads. Ela permite verificar os caminhos de chamadas e pontos de execução de todos os threads em execução.
Ao depurar, às vezes os símbolos da biblioteca não estão disponíveis na sua máquina local. Nesse caso, você pode usar um servidor de símbolos, um servidor de arquivos que armazena seus símbolos de depuração centralmente em um servidor, e não na máquina de cada desenvolvedor. No CLion para Windows, agora você pode configurar servidores de símbolos para o depurador em Settings | Build, Execution, Deployment | Debugger | Symbol Servers.