PyDev: Como chamar o comando específico de depuração do console (com pontos de interrupção)?
Suponha que eu escrevi uma função, que eu quero depurar.
O PyDev ajuda a depurar muito com seus recursos avançados, como pontos de interrupção.
Após definir os pontos de interrupção, uma maneira de depurar é escrever uma chamada da função emdef main()
ou apenas no corpo do módulo e pressione o botão botão.
É possível iniciar uma sessão de depuração da função junto com seus argumentos do console? (Assim como no RStudio ou VBA ...)
Esta pergunta é uma duplicata depydev: depuração no modo de console (interativo)?
Atualização: realmente não sei qual é a combinação mágica de cliques que possibilita a depuração interativa.
Aqui está o que eu faço, que énão está funcionando (no Ubuntu 14.04 e Eclipse 4.4.I20140606-1215 com PyDev 3.6.0.2014062323, Python 3.4.0, IPython 1.2.1)
Primeira tentativa:Primeiro, crio um novo projeto PyDev:
Em seguida, insiro um novo arquivo .py com algum código ativado e crio alguns pontos de interrupção:
Então, clique com o botão direito do mouse em algum lugar do códigoDebug As...
->Python run
.
E então dois consoles são abertos, nenhum deles é IPython. O console ativo é nomeado[Debug console] proba.py
. Digitar comandos neste console não faz o computador executá-los.
Há outro console disponível, chamado apenasproba.py
. Esse console é totalmente interativo, emboranão é IPython.
Este é realmente um depurador interativo. Pode-se percorrer o código e inspecionar variáveis. Infelizmente, a atualização das variáveis não é suportada; se eu digitar um comandoa=10
a variável não é atualizada.
Desta vez, antes de iniciar a sessão de depuração, vamos tentar iniciar o IPython. Depois de Ctrl + Alt + Enter, eu escolhoConsole for currently active editor
:
Então Python3 (porque é isso que eu preciso):
Depois disso, tenho um console IPython totalmente funcional.
Quando executo o arquivo viaexecfile
, ele dispara um erroFailed to create input stream: Read timed out
:
Embora pareça que, percorrer o código funcione, não consigo acessar as variáveis no console do IPython, embora seja possível acessá-las na exibição Variáveis: