ipdb로 파이썬 스크립트를 디버깅하고 있습니다. 어쨌든 명령을 입력 한 후, 예를 들어 n, s, c, b
등과 같이 문제가 발생했습니다. Ctrl + D을 두 번 눌러 명령을 처리하고 계속 진행해야합니다.ipdb 명령 처리를 위해 Ctrl + D가 필요합니다.
무엇이 원인이 무엇입니까? 내가 어떻게 꺼낼 수 있습니까??
ipdb로 파이썬 스크립트를 디버깅하고 있습니다. 어쨌든 명령을 입력 한 후, 예를 들어 n, s, c, b
등과 같이 문제가 발생했습니다. Ctrl + D을 두 번 눌러 명령을 처리하고 계속 진행해야합니다.ipdb 명령 처리를 위해 Ctrl + D가 필요합니다.
무엇이 원인이 무엇입니까? 내가 어떻게 꺼낼 수 있습니까??
이 효과 ipdb하는 격리되지 :
기술적 Ctrl 키 D가 송신을 종료하고,이 빈 입력 버퍼 을 초래하는 경우에만 EOF를 일으킨다. 어떤 문자를 입력하기 전에 Ctrl-D 키를 누를 때만 발생합니다.
1. At the linux terminal type cat
2. press enter once.
3. enter letters: foo
4. press <Ctrl-D> once, you don't get back to the terminal.
5. press <Ctrl-D> again, you are brought back to the terminal.
그래서 그것은 다음과 같습니다 : 당신이 그것을 누르면 처음 입력을 플러시 때문에
[email protected] ~ $ cat
[email protected] ~ $
foo는 두 번 인쇄
이 실험을 수행. 두 번째로 프로그램을 끝내기로 해석합니다.는 당신이 Ctrl-D를를 누르면됩니다 TTY에 연결하지 마십시오 :이 동작을 중지하는 방법
. 즉, 일반적인 리눅스 터미널을 사용하지 마십시오. 이것이 가능한지 확실하지 않습니다. ipdb
여기에 비디오로 그림과 같이 명령을 처리해야 Enter 키를 눌러에 명령을 처리하는 방법
: 그것은 중간 대기 인하, Ctrl+D
프로그램을 죽이지 않습니다 http://www.gregaker.net/2012/apr/05/debugging-python-with-pdb-or-ipdb/
고마워, 내가 TTY에 연결되어서는 안된다는 것은 무엇을 의미합니까? 나는 두 가지 방법으로 디버깅을 시작한다. (1) 콘솔에서'ipdb myscript.py'를 입력하고 (2)'import ipdb; 내 스크립트 실행에 pdb.set_trace()는''파이썬은 – RevMoon
이는 일이 을 통하여. Ctrl+D
을 누르면 입력 대기중인 프로세스의 'read()
'호출이 중단됩니다. 그들이 입력으로 0
바이트를 읽을 때
대부분의 프로그램은 중단됩니다. 아무 것도 입력하기 전에 Ctrl+D
을 입력하면 입력 파이프 아래로 0 바이트가 전송되고 은 프로그램이 종료 될 때까지을 유도하므로 수행 할 작업이 남아 있지 않을 수도 있습니다. 이것은 이 아니며 강제입니다.
그러나 일부 키를 누른 다음 Ctrl+D
을 누르면 중단 된 호출 read()
이 해당 텍스트를 반환하고 기본 프로그램이 다른 라운드를 대기하기로 결정합니다.
새 텍스트를 입력하지 않고 Ctrl+D
을 다시 입력하면 예상대로 동작합니다.
이 아마 무슨 일이 일어나고 있는지입니다 : 당신은 몇 가지 문자를 입력
는, 그들은 버퍼링 얻을.
당신 Ctrl+D
. 텍스트는 iPdb
에 도달하지만 줄 바꿈을 검색하지 않으므로 더 기다립니다.
다시 Ctrl+D
. 오는 아무것도를지지 않으며 또는 줄 바꿈없이 텍스트를 처리 0
바이트 iPdb
에 도달이 시간.
는 @EricLeschinski 예, 나는 그것을 참조하십시오. 내 문제가 해결되지 않는다고 생각하지만 그렇지 않습니까? – RevMoon