1
pdb의 display
명령은 전체 변수가 할당 된 경우에만 표현식을 나타냅니다.python3 pdb 디스플레이 목록
pass
foo = [1, 2, 3]
foo[0] = 8
foo.append(7)
pass
python3 -m pdb bar.py
와 상기 코드를 실행하고 display foo
들어갈 때 I 얻을 출력은 :
> bar.py(2)<module>()
-> foo = [1, 2, 3]
(Pdb) display foo
display foo: ** raised NameError: name 'foo' is not defined **
(Pdb) n
> bar.py(3)<module>()
-> foo[0] = 8
display foo: [1, 2, 3] [old: ** raised NameError: name 'foo' is not defined **]
(Pdb)
> bar.py(4)<module>()
-> foo.append(7)
(Pdb)
> bar.py(5)<module>()
-> pass
(Pdb) foo
[8, 2, 3, 7]
(Pdb)
나가서 설명하자면 NameError 및 디스플레이의 제 1 출력이 예상된다. 그러나 첫 번째 항목이 변경되거나 추가되었을 때 디스플레이가 변경된 foo
을 표시하지 않는 것 같습니다.
변경 사항을 pdb에 표시하는 방법이 있습니까? display str(foo)
이 작업을 수행하지만 더 나은 솔루션이 있는지 궁금합니다.
귀하의 의견을 보내 주셔서 감사합니다.하지만 제 질문에 완전히 답변하지는 않습니다. foo의 내용이 인쇄되지 않으면 변경하지 않은 foo 내용이 인쇄됩니다. – jbl
오, 알겠습니다 ... 네, 맞습니다. 그렇지 않습니다. 나는 더 나은 것이 나타나기를 원한다면 의견을 게시 할 것입니다. 덧글 대신 답장을해서 유감스럽게 생각합니다. 현재 내 평판은 18 점 밖에 없으므로 사용자의 질문은 말할 수 없지만 내 의견은 말할 수 없습니다. 답장을 보내 주셔서 감사합니다. –