Python Debugger - PUG-PE

2,575 views

Published on

Apresentação feita nas palestras relâmpagos do PUG-PE no XVII encontro do grupo.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,575
On SlideShare
0
From Embeds
0
Number of Embeds
1,320
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Python Debugger - PUG-PE

  1. 1. Python DebuggerArthur F. M. Alvimhttp://cin.ufpe.br/∼afma/XVII Encontro do PUG-PE
  2. 2. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoÍndice 1 Introdução Sobre o Python Debugger Objetivos da Palestra Relâmpago 2 O Módulo PDB Como Funciona? 3 Comandos Comandos 4 Exemplos Vamos Brincar! 5 Outros Debuggers Outros Debuggers 6 Conclusão Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 2 / 18
  3. 3. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoIntrodução Introdução Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 3 / 18
  4. 4. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoSobre o Python Debugger • Dê o seu "import pdb". É uma das baterias do Python (módulo pdb). • Funcionamento como um shell interativo que debuga o código fonte. • Permite que sejam realizados paradas ou mesmo a execução passo-a-passo do código fonte para que este seja inspecionado, entre outras funcionalidades. • O debugger é extensível - Ele é definido na classe Pdb. • Muito melhor do que o método "debug ’Lala’ mode" Documentação do pdb Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 4 / 18
  5. 5. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoObjetivos da Palestra Relâmpago • Entender o funcionamento básico do Python Debugger. • Aplicá-lo em alguns exemplos práticos. Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 5 / 18
  6. 6. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoO Módulo PDB O Módulo PDB Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 6 / 18
  7. 7. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoComo Funciona? Example » # exemplo do debug ’Lala’ mode » print ’Lala Foi!’ » # código que vc quer funcionando » print variavel » print ’Lala Voltou!’ • Bastante útil em certas ocasiões, mas... • Não permite que sejam feitas modificações em tempo de execução. Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 7 / 18
  8. 8. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoComo Funciona? Pdb Para utilizar o debugger, você deverá importar o módulo pdb, o módulo a ser testado e chamar o método pdb.run() passando o código a ser testado como parâmetro. Example » # exemplo usando o pdb » import pdb » import meumodulo » pdb.run("meumodulo.main()") (Pdb) continue # agora ele executará » print ’Hello World!’ Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 8 / 18
  9. 9. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoComo Funciona? Outras Formas de Usar o Pdb Podemos executá-lo diretamente pela linha de comando: $ python path_to_python_libs_pdb.py meumodulo.py Example » # ou ainda podemos executá-lo quando ocorrer um erro: » import pdb, meumodulo » Traceback( most recent call last): ... » NameError: Global name ’hello’ is not defined » pdb.pm() > ./meumodulo.py(2)main() -> print hello (Pdb)_ Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 9 / 18
  10. 10. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoComo Funciona? Outras Formas de Usar o Pdb Podemos também executá-lo na chamado do código pela função set_trace(): $ python meuarquivo.py Example # meuarquivo.py import pdb, meumodulo print ’iae bunitao’ pdb.set_trace() # onde você quer que o debug comece. # código... executando... iae bunitao (Pdb)_ Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 10 / 18
  11. 11. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoComandos Comandos Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 11 / 18
  12. 12. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoTabela com os Comandos do PDB Comando Forma Simplificada Descrição break b Insere um breakpoint (sem parâmetro lista os breakpoints). tbreak tbreak Insere um breakpoint temporário. clear cl Remove um breakpoint. enable enable Habilita um ou mais breakpoints. disable disable Desabilita um ou mais breakpoints. continue c Continua a execução do programa. exit q Aborta a execução do programa. help h Imprime uma lista de comandos ou ajuda. list l Mostra o cursor do pdb no código fonte. next n Executa linha mas não entra em funções ([s]tep). return r Continua execução até a última função dar o retorno. quit q Sai do debugger. Tabela: Tabelas de Comandos do pdb Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 12 / 18
  13. 13. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoExemplos Exemplos Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 13 / 18
  14. 14. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoVamos Brincar! VAMOS BRINCAR! Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 14 / 18
  15. 15. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoOutros Debuggers Outros Debuggers Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 15 / 18
  16. 16. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoOutros Debuggers • Debuggers WINPdb (GPL, remote debbuging, 20x + rápido que o pdb) pydb • IDEs com Debug PyDev (Eclipse Plugin) Komodo PyCharm ++ Python Debuggers Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 16 / 18
  17. 17. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoConclusão Conclusão Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 17 / 18
  18. 18. Introdução O Módulo PDB Comandos Exemplos Outros Debuggers ConclusãoConclusão ? Contato? Arthur Alvim arth.alvim@gmail.com @arthuralvim facebook.com/arthur.alvim Obrigado pela Atenção! Arthur F. M. Alvim - arth.alvim@gmail.com Python Debugger 18 / 18

×