1
pdbのdisplay
コマンドは、変数全体が割り当てられている場合にのみ式を表示するようです。python3 pdb表示リスト
pass
foo = [1, 2, 3]
foo[0] = 8
foo.append(7)
pass
python3 -m pdb bar.py
で上記のコードを実行し、その後display foo
に入るとき私が得る出力は、次のとおり
> 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とディスプレイの最初の出力が期待されます。 最初の項目が変更されたときや、7を追加したときにディスプレイが変更されたfoo
が表示されないようです。
これらの変更をpdbに伝える方法はありますか? display str(foo)
は仕事をしているようですが、より良い解決策があるかどうか疑問に思っています。
あなたのコメントありがとうございますが、私の質問に完全に答えていません。 fooの内容が変更されていなくても、印刷したいのは避けたかったでしょう。 – jbl
ああ、私は...はい、あなたは正しいとは思わない。より良いものが出てくると私はコメントを投稿します。コメントする代わりに申し訳ありません。私の評判は今のところ18ポイントしかないので、ユーザーの質問はコメントできませんが、自分のコメントはコメントできません。お返事をありがとうございます。 –