Pular para o conteúdo

Depurando programas em C++

Também configuramos a depuração para projetos na linguagem C++ para quando todos os arquivos estiverem na raiz do projeto.

Para projetos que tiverem estruturas de diretórios mais complexas, é necessário criar um arquivo de depuração customizado.

Abra no Visual Studio Code o projeto binary_tree que criamos anteriormente.

Terminal window
cd ~/dev/c_cpp_projects/binary_tree
code .

Crie um arquivo chamado launch.json na pasta .vscode do projeto.

Fedora, WSL ou Mint
mkdir -p .vscode
touch .vscode/launch.json

Utilize o snippet launch-json para inicializar o arquivo com o seguinte código:

.vscode/launch.json
{
"configurations": [],
"version": "0.2.0"
}

Dentro do vetor configurations, utilize o snippet cpp-launch. O conteúdo do arquivo será o seguinte:

.vscode/tasks.json
{
"configurations": [
{
"args": [],
"cwd": "${workspaceFolder}",
"name": "LLDB: build and launch C++ project (Local)",
"preLaunchTask": "Clang: build C++ project (Local)",
"program": "${workspaceFolder}/build/${workspaceFolderBasename}",
"request": "launch",
"terminal": "console",
"type": "lldb"
}
],
"version": "0.2.0"
}

Agora, ponha um breakpoint na linha 10 do arquivo main.cpp, em que há o seguinte trecho de código.

main.cpp
tree.insert(3);

Acesse o menu de depuração clicando no ícone de bug ou pelo atalho Control + Shift + D Control + Shift + D . No seletor de configuração, escolha a opção LLDB: build and launch C++ project (Local). Então clique no botão de play verde ou, se preferir, use o atalho de teclado F5 F5 .

O código será compilado e executado no modo de depuração. Então, será interrompido no breakpoint selecionado.

Você pode executar linha a linha usando a tecla F10 F10 . Observando a variável tree.root, poderá perceber que a árvore está sendo construída conforme o esperado.

Visual Studio Code depurando o arquivo "main.cpp", tendo pausado no breakpoint na linha 1 0.
Usando um breakpoint no Visual Studio Code.