2014-10-31 2 views
4

파이썬 디버깅을 위해 pudb를 사용하기 시작합니다. 괜찮아졌고 단계별로 진행할 수 있고 pudb.set_trace()를 사용하여 코드에 입력 한 중단 점에서 중지 할 수 있습니다. 여태까지는 그런대로 잘됐다. 내가 가지고있는 주된 문제는 다음과 같습니다.pudb 명령 줄 영역에서 손실되었습니다.

^X를 눌러 명령 행 창에 도달하면, 대화식 Python을 실행하는 것처럼 실행 가능한 행이나 변수 이름을 입력 할 수 있습니다. 다른 명령을 찾거나 도움을 요청하십시오()) 나는 회복 할 수없는 상태에 있습니다. 심지어 Control-c (https://docs.python.org/2/tutorial/appendix.html#tut-interac에서 주장한대로)는 "^ C"로 표시되고 아무 것도 수행하지 않습니다.

예를 들어, "help()"를 입력하면 Python (pudb가 아닌) 도움말이 인쇄되고 "help()"가 노란색으로 다시 표시되며 물속에서 죽습니다. Backspace는 표시된 "help()"에 영향을 미치지 않고,^H는 캐럿 + H로 표시됩니다. 리턴 할 때까지, 리터럴 백 스페이스로 "help()"에 추가 된 것처럼 보입니다. "help()"의 일부를 사라지게하십시오. 나는 "() 도움"다음에 아무 것도 입력 할 수 있지만, 난 항상 얻을 :

SyntaxError: unexpected EOF while parsing 

내가 입력 한 무엇을 다시 표시 하였다. 어떻게하면이 상태를 "지우고"터미널 프로그램을 종료하지 않은 상태로 정상적인 명령 줄로 돌아갈 수 있습니까?

Mac OS X 10.9.5에서 Terminal을 사용하여 Linux를 사용해 볼 수도 있지만.

답변

2

설명이 pudb에 문제가 아니라 사용중인 터미널의 Backspace 동작에 문제가 있음을 나타냅니다.

이 동작을 변경하여 올바른 Backspace를 보내십시오. 도움이 될 수 있습니다 : http://fredericiana.com/2006/10/16/fixing-backspace-and-delete-for-ssh-in-os-xs-terminalapp/

그런 다음 pudb의 전체 화면 Python 인터프리터에 '!'를 입력 할 수 있어야합니다. Control-D로 그대로 두십시오.

pudb의 인터페이스에있는 "작은"Python 명령 줄은 Control-X에서 액세스 할 수 있으며 Control-X를 사용하여 남겨 둘 수 있습니다. 이 중 하나에 명령 줄을 조작 할 수있는 세 가지 다른 바로 가기가 있습니다. Control-V - 명령 줄 기록을 찾아 보려면 새 줄을 삽입하고 Control-N/Control-P를 추가하십시오. 이들 중 어떤 것이 작동하지 않는다면 터미널이 pudb가하는 방식이 아닌 이러한 단축키를 다루는 방식에 다소 문제가 있습니다.

+0

맞습니다. x08 대신 x7f를 전송하는 것으로 나타났습니다. 외관상으로는 대부분의 공구는 걱정하지 않는다, 그러나 pudb는. 감사! – TextGeek

관련 문제