問題タブ [ipdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ipythonデバッガー:インタラクティブpdbの完全なトレースバック?
最近、ipython0.10からipython0.11に切り替えました。ipython0.11では、Pythonデバッガーが関与しているとき(つまり、を使用しているとき%pdb
)に完全なトレースバックの小さなスニペットしか表示されませんが、ipython0.10では完全なトレースバックが表示されます。私の知る限り、完全なトレースバックにはpdbコマンドラインから直接アクセスすることはできません。「u」を使用してナビゲートすることはできますが、直接表示することはできません。
それで、完全なトレースバックを表示する方法はありますか?構成パラメータなど?
または、さらに便利なことに、コード内のどこでキャッチされたかを表示するのではなく、ipythonにキャッチされた例外を表示させる方法はありますか?
編集:例:
pdbを終了する前 にZeroDivisionErrorを確認したいと思います。q
python - ipdb、複数のスレッド、および ProgrammingError を引き起こすプログラムの自動再ロード
マルチスレッド Web アプリケーション (Django、Plone) をローカルでデバッグするために ipdb デバッガーを使用しています。多くの場合、デバッグ プロンプトを表示しているときに発生する自動リロードが原因で、ipdb が混乱しているように見えます。結果のスタックトレースが表示されます
この後、プログラムを閉じることができない (スレッドがハングする) か、ipdb 自体が動作を停止します。
この問題を ipdb で軽減し、マルチスレッド/自動リロードの安全性を高める方法はありますか?
編集:これは根本的なIPythonの問題である可能性があると私は信じているので、質問を少し明確にしました。リロード時に IPython が単純に履歴を破棄するようにするか、問題のある IPython SQLite 書き込みを他の方法で無効にすることで、何らかの回避策がある可能性があります。
ipython - ipdb で IPython マジックを実行する
%paste
やなどの IPython マジックを ipdb で使用でき %cd
ますか? コマンドラインでこれらの魔法を ipdb に解釈させる方法はありますか?
python - ipython ipdb が ipdb.set_trace() 経由で呼び出されると、デバッグ中にコマンド履歴が記憶されない
iPython は、ipython
正常に実行した場合、たとえば repl で基本的なことをテストするなど、コマンド履歴を記憶していますが、以前のデバッグ セッションからデバッグ コマンドを取得できるようにしたいと考えており、実行するだけでデバッグを行っています。プログラムに含まれる通常のプログラム
これは、プログラムの実行時にデバッグを開始するようにプログラムのどこにでも記述できるようにtrace()
、またはプログラムが単独で停止したときに事後分析のデバッグを自動的に開始するように設定することです。
Python with iPython は、迅速なコード/テストの反復に関して、他の言語を超えて飛躍的であり、この時点で私は涅槃に非常に近づいています...
python - リスト ジェネレーターを使用している場合、Python 3 の pdb モジュールで発生する可能性のあるバグ
このコードを Python 3 で実行した後:
次の式が機能します。
しかし、次の式は失敗します。
上記は Python 2.7 で正常に動作します。
これはバグですか、それとも何か不足していますか?
更新:新しく受け入れられた回答を参照してください。これは確かにバグ (または問題のある設計) であり、現在 pdb に新しいコマンドとモードを導入することで対処されています。
python - Eclipse で ipdb を使用する
多くの場合、Eclipse での Python コードのデバッグは 2 つの負荷がかかるため、コードをすばやくチェックするには pdb.set_trace() を好むことがよくあります。ただし、ipdb には、タブ補完や構文強調表示などの便利な機能がいくつかあります。Eclipseでもipdbを使用することは可能ですか?
次のことにつながります。
そのため、ipdb デバッガーにアクセスしてコードに関する情報を取得できますが、タブ補完が機能せず、構文の強調表示が奇妙に見え、何よりもこれらの奇妙なテキスト文字列があります。私はすでにエンコーディングをUTFに設定しています。これについて何か経験はありますか?
python - ipdbで「***最も古いフレーム」とはどういう意味ですか?
サーバーに http リクエストを送信し、返されたコンテンツを調べようとしています。HTTPResponse object
ただし、 with をいじっipdb
てみると、*** Oldest frame
実行できるはずのオブジェクトで関数を実行できなくなります。フェッチを行うコードのブロックとipdb
出力は次のとおりです。
コードブロック:
ipdb 出力:
*** Oldest frame
このオブジェクトを、適切な関数を実行できるより便利なものにするにはどうすればよいでしょうか?