問題タブ [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 - ipdb.set_trace() で設定されたブレークポイントを削除することはできますか?
ipdb.set_trace()
Pythonコードのどこかで使用しました。IPDB コマンドを使用してこのブレークポイントを無視することはできますか?
clear
は、すべてのブレークポイントをクリアしたことを教えてくれますが、IPDB は の行に出くわすと再び停止しipdb.set_trace()
ます。
disable 1
私に言う:No breakpoint numbered 1
ignore 1
言う:Breakpoint index '1' is not valid
明確にするために: もちろん、ソース コードからブレーク ポイントを削除することもできます。ただし、これにはデバッガーを終了し、再度開始する必要があります。多くの場合、どこかに到達するために多くの作業が必要であり、デバッガーを再起動すると、作業がより困難になります。また、巨大なループがあり、ループ内のオブジェクトを検査したい場合、ループ内のオブジェクトの直後にブレークポイントを配置するのが最も簡単です。set_trace()
次に、ループ (および数千回の呼び出しすべて) をスキップして、ループの後に を使用してコードをステップスルーするにはどうすればよいnext
でしょうか?
python - ipdbは色の代わりにカラーコードを表示します
import ipdb; ipdb.set_trace()
ブレークポイントの挿入に使用します。最初にブレークポイントにヒットしたときの色は問題ありませんが、2 回目に BP にヒットしたとき ( を押すc
) など、トゥルー カラーではなくカラー コードが表示されます。
Windows 7 にあり、python 2.7 と 2.6 にも同じ問題があります。回避策の1つは、nocolorスキームを使用していると思います(nocolorスキームを取得するにはどうすればよいですか?)そして、利用可能な配色でこの問題を修正するにはどうすればよいですか?ありがとう!
windows - Windows で Anaconda を使用して ipdb をインストールするには?
私はすでに Python 2.7 をインストールしていますが、 IPythonを試してみたかったので、ipython Web サイトで推奨されているようにAnaconda経由で IPython をインストールしました (ただし、これを行うことの長所/短所はわかりません)。今、私はipdbデバッガーを使用したいと思います。通常のpythonではなく、Anacondaバージョンのpythonの下にインストールする必要があると思います。
これをインストールするにはどうすればよいですか?一般に、Anaconda の下に任意の python モジュールをインストールしたい場合、どうすればよいですか?
python - Tornado の ioloop で例外が発生した場合に pdb を開始する
スタンドアロンの Python プログラムでこれを行うと便利なことがよくあります。
(つまり、キャッチされない例外が発生した場合、プログラムは事後分析pdb
モードに移行します)
しかし、それは Tornado ioloop bc では機能しません。ioloop は、キャッチされていない例外をキャッチし、それらを出力またはログに記録しているようです。上記のフックをインストールすると、プログラムは Ctrl-C を押すだけで事後分析モードに入りますが、これはちょっと遅いです。:-)
Tornado にモンキー パッチを適用せずにこれを実現する方法はありますか?
python - 現在の例外への参照を取得する
ipdb help
現在の例外を示すコマンドが見つかりませんでした。
やってもうまくいきimport sys; print sys.exc_info()
ません。
現在私は:
それから私はそれexc
を分析するために協力することができます。
現在有効な例外への参照を簡単に取得する方法は?
python - ipdbプロンプトを色付けする
ipdb
プロンプトを色付きにする方法は?
プリント間を移動するのは難しい:
python - Python ipdb で vim バインディングを無効にする
vim、zsh、git プラグインを使用してこのdotfiles リポジトリをインストールした後、私の ipdb には通常のバインディングではなく vim キー バインディングが含まれています。
矢印を使用したナビゲーションはかなり壊れており、VIM (入力/通常) のようなモードになることがあります。
コマンド ライン ツールのバインディングを設定する ~/.inputrc を確認するように勧められました。そこには1行しか見つかりませんでした:
削除してターミナルを再起動しようとしましたが、役に立ちませんでした。
iTerm2 と MacVim を使用しています。
このドットファイルリポジトリは独自の構成を持つ個別のものであるため、通常のvim構成とは少し異なる場合がありますが、vimはここでも他の場所と同じように魔法を適用すると思いますので、誰かが私を助けてくれるかもしれませんそれ。
python - pdb (ipdb) でブレークポイント番号を見つける方法は?
などの ipdb (または pdb) コマンドを実行する方法を見つけようとしていますdisable
。
h
コマンドを呼び出すdisable
と、
disable bpnumber [bpnumber ...] スペースで区切られた bp 番号のリストとして指定されたブレークポイントを無効にします。
では、これらの bp 番号を取得するにはどうすればよいでしょうか? コマンドのリストを調べていましたが、bp 番号を表示するためのコマンドを取得できませんでした
[編集]
、およびコマンドは何もしませんがbreak
、私のモジュールでは明らかにこのように1つのブレークポイントが設定されています- . また、定義されていません。b
info breakpoints
import pdb; pdb.set_trace( )
ipdb
info
help
inの出力pdb
:
文書化されたコマンド (タイプ help ): ======================================= EOF bt cont enable jump pp run unt ac continue exit lqs until alias cl dh
list quit step up args clear debug help n
r tbreak wb commands disable ignore next restart u whatis break condition down jp
return unalias whereその他のヘルプ トピック: ========================== exec pdb
文書化されていないコマンド: ====================== retval rv
そしてのためにipdb
:
文書化されたコマンド (タイプ help ): ======================================= EOF bt cont enable jump pdef psource run unt ac
continue exit l pdoc qs until alias cl
dh list pfile quit step up args clear debug help n pinfo r tbreak wb
コマンド disable ignore next pinfo2 restart u whatis break condition down jp pp return unalias whereその他のヘルプ トピック: ========================== exec pdb
文書化されていないコマンド: ====================== retval rv
モジュールを pb3.py として保存し、次のようにコマンドライン内で実行しています
python -m pb3 実行は確かにブレークポイントで停止しますが、di pdb (ipdb) コンソール内では、示されたコマンドは何も表示しません - または NameError を表示します
さらに情報が必要な場合は、提供します。
python - コードに明示的なブレークポイントを指定せずに、emacs の gud で ipdb を使用する
私は python.el を使用しています。メニューから「デバッガー」を選択し、「python -m pdb myfile.py」と入力すると、gud が起動し、分割フレームに (Pdb) プロンプトが表示されます。もう一方のコードは、最初の行にキャレットを付けて、準備ができていることを示します。たとえば、「n」ステップで次の行に進み、それに応じてキャレットが移動します。
代わりに「python -m ipdb myfile.py」と入力すると、フレームが分割され、1 つの分割に「gud」というラベルが付けられますが、ipdb コンソールは明らかではありません。つまり、この ipdb の開始方法は機能していないようです。ipdb.set_trace() を使用して手動で Python コードにブレークポイントを挿入すると、ipdb は問題なく動作しますが、gud インターフェイスは使用しません。これは、ipdb のスタック トレースが適切に機能するようにするための意図的なものですか?
もしそうならそれでいいのですが、set_trace() コマンドを手動で追加せずに emacs から ipdb を開始する方法はありますか?