Skip to content

Instantly share code, notes, and snippets.

@gustavobittencourt
Last active March 23, 2016 07:48
Show Gist options
  • Save gustavobittencourt/b5c71add1cf5b802f3f9 to your computer and use it in GitHub Desktop.
Save gustavobittencourt/b5c71add1cf5b802f3f9 to your computer and use it in GitHub Desktop.
Configurações de um projeto para a execução do SublimeGDB com C++. Este bloco de configurações deve ser colocado dentro do arquivo do projeto, com a extensão .sublime-project.
,
"settings":
{
"sublimegdb_workingdir": "${folder:${file}}",
// put your arguments hear
"sublimegdb_arguments": "",
// NOTE: You MUST provide --interpreter=mi for the plugin to work
"sublimegdb_commandline": "g++ -g -std=c++14 ${file_base_name}.cpp -o ${file_base_name} && gdb -nx -readnow -fullname --interpreter=mi --args ./${file_base_name}"
}
@gustavobittencourt
Copy link
Author

Configurações

Para a utilização do Gnu Debugger (GDB) no Sublime, é necessário antes colocar o seguinte código dentro das configurações do projeto em questão:

{
    "folders":
    [
        {
            "path": "."
        }
    ],

    "settings":
    {
         "sublimegdb_workingdir": "${folder:${file}}",
         // put your arguments hear
         "sublimegdb_arguments": "",
         // NOTE: You MUST provide --interpreter=mi for the plugin to work
         "sublimegdb_commandline": "g++ -g -std=c++14 ${file_base_name}.cpp -o ${file_base_name} && gdb -nx -readnow -fullname --interpreter=mi --args ./${file_base_name}"
    }
}

Comandos:

Comando Ação
+ F9 Ativar/Desativar Breakpoint
+ + F5 Iniciar/Continuar o debugger
+ + F5 Janela de input do debugger
+ F11 Step Into 1
+ F10 Step Over 2 / Próxima instrução
+ + F11 Step Out 3
+ Ctrl + F5 Finalizar o debugger

1 Executa uma linha de código por vez, entrando em todas as funções e procedimentos que aparecem na sequência.

2 Executa uma linha de código por vez, similar ao step into, com a diferença de que quando ocorre a chamada de uma função ou procedimento ela é executada como um bloco único e o cursor se posiciona na linha seguinte.

3 Quando invocado de dentro de uma função ou procedimento, termina a execução daquele bloco de comandos e para na linha seguinte à chamada da função.

Dicas:

  • Caso o debugger não funcione, um dos possíveis problemas pode estar associado ao path dos arquivos, como por exemplo a existência de espaços nos diretórios ou a extensão ser .c e não .cpp. Uma maneira de encontrar exatamente o erro que está ocorrendo é através do console do Sublime, disponível em View > Show Console.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment