pdb를 종료하고 프로그램을 계속하는 방법은 무엇입니까?
프로그램을 디버깅하기 위해 pdb 모듈을 사용하고 있습니다. pdb를 종료하고 프로그램이 계속해서 완료되도록 허용하는 방법을 알고 싶습니다. 이 프로그램은 실행하는 데 계산 비용이 많이 들기 때문에 스크립트를 완료하지 않고 종료하고 싶지 않습니다. continue
작동하지 않는 것 같습니다. pdb를 종료하고 내 프로그램을 계속하려면 어떻게해야합니까?
continue
"실행을 계속하고 중단 점이 발생할 때만 중지"해야합니다. 따라서 중단 점이 어딘가에 설정되어 있습니다. 중단 점을 제거하려면 (수동으로 삽입 한 경우) :
(Pdb) break
Num Type Disp Enb Where
1 breakpoint keep yes at /path/to/test.py:5
(Pdb) clear 1
Deleted breakpoint 1
(Pdb) continue
또는을 사용 pdb.set_trace()
하고 있다면 이것을 시도해 볼 수 있습니다 (pdb를 더 멋진 방법으로 사용하고 있다면 이것은 일을 망칠 수 있습니다 ...)
(Pdb) pdb.set_trace = lambda: None # This replaces the set_trace() function!
(Pdb) continue
# No more breaks!
간단한이 Ctrl- DPDB의 탈옥 것입니다. 중단하지 않고 계속 c하려면 전체 continue
명령 대신 누르십시오.
@voithos 의 대답 은 정확하므로 .NET을 사용하는 경우 하나의 대안 만 추가하겠습니다 set_trace
. 예, pdb.set_trace = lambda: None
해킹은 정상적으로 작동하지만 다른 중단 점이 설정되어 있고 나중에 다시 활성화하려는 경우에는 작동하지 않습니다. 나에게 이것은 불행하게도 pdb
많은 기능 (디스플레이 목록과 같은 기본적인 것조차도)이 없다는 사실을 가리키며 , 이것은 또 다른 경우입니다.
좋은 소식은을 (를 pdb++
) 대체 할 수있는 훌륭한 pdb
방법이며이 기능이 해결하는 것 중 하나는 정확히을 (를) 비활성화하는 문제입니다 set_trace
. 따라서 간단하게 다음을 수행 할 수 있습니다.
pip install pdbpp
그런 다음 (Pdb++)
프롬프트 에서 다음을 입력합니다.
pdb.disable()
나중에 다시 활성화하려면 당연히 다음과 같이 작동합니다.
pdb.enable()
쉬운! 그리고 그 위에 다른 많은 유용한 혜택을 얻을 수 있습니다.
정말로 디버거를 종료하려면 WinPdb 와 같은 것을 실행 하여 프로세스에서 분리 한 다음 디버거를 종료해야합니다 (NB는 다중 플랫폼입니다).
디버깅을 계속하고 싶지만 더 이상 주어진 중단 점에서 중지하지 않으려면 다음을 수행해야합니다.
- 중단 점 번호 (또는 파일 및 줄 번호)를 기록해 둡니다.
- 하나
cl bp_number
또는clear file:line
영구적으로 중단 점을 제거하기 위해 또는disable pb_number
그것을 떨어져 전환하지만 다시 전환 할 수 있도록. - 그런 다음
continue
프로그램이 다음 다른 중단 점에 도달 할 때까지 실행 됩니다.
위의 자세한 내용 은 설명서를 참조하십시오 .
참고 URL : https://stackoverflow.com/questions/17820618/how-to-exit-pdb-and-allow-program-to-continue
'Programing' 카테고리의 다른 글
xsl : value-of select = "…에 문자열을 연결하는 방법? (0) | 2020.09.11 |
---|---|
현재 수업 이름을 얻으시겠습니까? (0) | 2020.09.11 |
iOS에서 프로그래밍 방식으로 이미지에 색조를 지정하려면 어떻게해야합니까? (0) | 2020.09.11 |
원시 16 비트 x86 기계어 코드를 어떻게 분해합니까? (0) | 2020.09.11 |
WPF의 표준 컨트롤에 DockStyle.Fill을 사용하는 방법은 무엇입니까? (0) | 2020.09.11 |