問題タブ [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.

0 投票する
2 に答える
7050 参照

python - pdb / ipdb でブレークポイントをスキップすることはできますか?

将来のすべてのブレークポイントをスキップして、そこにないかのように実行を終了するように pdb または ipdb に指示する方法はありますか?

0 投票する
1 に答える
830 参照

python-3.x - Pythonデバッガーがコルーチンにステップインしていませんか?

以下の例では:

に足を踏み入れようとしている

loop.create_datagram_endpoint( EchoServerProtocol, local_addr=('127.0.0.1', 9999))

内部でどのように動作するかを理解する。ただし、コルーチンにステップインしようとすると、デバッガーns.

この動作は PyCharm (2016 2.3 Community) IDE で発生します。

ここで終了し、コードをさらにステップ実行できると思います。

0 投票する
1 に答える
4107 参照

python - 「import ipdb」によるデバッグセッションの準備中に「名前エラー: 名前 'get_ipython' が定義されていません」

PIP 8.1.2 を使用して、Win10 の Python 3.3.5 32 ビットに ipdb (IPython 対応の pdb) をインストールして使用しようとしています。エラーなしでWindows cmdにPIP経由でインストールしました(個別にインストールする必要がありました):

「テスト」文字列ipdb_test.pyを出力する前にデバッガーで停止することを期待して、簡単なテスト スクリプトを作成しました。

IDLE エディターから実行すると、次の例外が表示されます。

0 投票する
1 に答える
873 参照

python - 変数によって隠された ipdb コマンド

このサンプル スクリプトを ipdb でデバッグしようとすると、次のようになります。

Python 変数が pdb コマンドを覆い隠しているため、3 行目を実行できません。

両方のコマンド (n/next) が認識されなくなった場合、コードの実行をさらに進めるにはどうすればよいですか? (s/step も変数によって隠されていると仮定しましょう)。

私がこれまでに試したこと:

  • ipdb の代わりに ipdb3 を使用 - 同じ問題 (私の場合、ipdb が ipdb3 にリンクされているためかもしれません:))
  • pdb を使用 - 動作します! n/next コマンドは、python 変数を表示する代わりに次の行に移動します。ipdb の何が問題になっていますか?
  • !!n問題を軽減します - の ipdb バージョンを実行しnextます。私がalias n !!nそれを実行するために繰り返し使用することができればEnter、問題は解決するでしょう. ただし、エイリアスを実行する代わりにEnter変数を表示するだけです(これはに解決されるはずです)nn!!n

私は使用しています

  • マンジャロ Linux 16.10
  • Python 3.5.2 :: アナコンダ 4.2.0 (64 ビット)
  • ipdb (0.10.1)
  • ipython (5.1.0)
  • ipython-genutils (0.1.0)
  • ~/.pdbrc ファイルがありません

編集

この問題は次の方法で修正されました: https://github.com/ipython/ipython/pull/10050

0 投票する
1 に答える
4305 参照

python - IPython (Jupyter) ノートブックでの対話型デバッグ

Python コードをデバッグするために、ipdbライブラリを使用し、set_trace()コマンドを使用してブレーク ポイントを配置します。コードがそこに到達すると、ipdb>プロンプト付きの対話型シェルが表示され、タブのオートコンプリートでローカル変数を調べることができます。

ただし、IPython (Jupyter) ノートブックではipdb.set_trace()機能しません。この投稿で示唆されているように: ipdb を使用して 1 つのセル (jupyter または Ipython) で Python コードをデバッグする

インタラクティブなデバッグには、次の代替手段を使用します。

これによりipdb>プロンプトが表示されますが、タブのオートコンプリートは利用できません。ipythonノートブックを使用して対話型デバッグのオートコンプリートを有効にする方法はありますか? これは、長い名前の変数がたくさんある場合に特に便利です。

0 投票する
2 に答える
2762 参照

python - Dockerコンテナでipdbコンソールに入力できません

docker-compose を使用して docker コンテナーをビルドし、次の--service-portsようにフラグを付けてコンテナーを実行しています。

ipdb を使用してコンテナー内の python スクリプト内で ipdb を呼び出そうとすると、import ipdb; ipdb.set_trace()初期化されますが、コンソールに何も入力できません。また、端末セッションを停止するには、端末セッションを手動で再起動する必要があります (CTRL+CなどCTRL+Dは何もしません)。スクロールバックしてフォーカス/フォーカスを外すと、カーソルの外観も変わるため、端末がフリーズしたわけではありません。

これは私の用語がどのように見えるかです(私は使用しますiTerm): ここに画像の説明を入力

これを修正する方法はありますか?