スレッド同時実行の可視化
概要
この機能は、マルチスレッドアプリケーションを完全に制御できます。並行処理の可視化セッションは、並行性ダイアグラムモードでの現在の実行 / デバッグ構成で実行されます。
並行処理の視覚化セッションの開始
以下のいずれか 1 つを実行します:
に移動します。
PyCharm ウィンドウの上部にある実行ウィジェットで その他のアクションをクリックし、< script_name> の並行性ダイアグラムを選択します。
エディターでターゲットファイルを右クリックし、
を選択します。メインツールバーまたはナビゲーションバーが表示されている場合は、「 」をクリックして「
」を選択します。
同時実行の可視化ダイアグラムは、並行アクティビティダイアグラムツールウィンドウのスレッド化グラフタブに実行中のプロセス内のスレッドのリアルタイム状態を示します。
asyncio を使用するアプリケーションの並行処理の可視化
並行性の視覚化は、Python 3.5 以降で利用可能な asyncio
モジュールともうまく機能します。
並行処理の可視化を利用するには、上記と同じ方法で asyncio
を使用するアプリケーションを実行し、非同期グラフタブに切り替えます。
並行アクティビティダイアグラムツールウィンドウの操作
ツールウィンドウの左側には、次のアイコンが付いたツールバーがあります。
- このボタンをクリックして実行中のプロセスを終了します。
/ - これらのボタンをクリックして、ダイアグラムの縮尺を拡大または縮小します。
- ダイアグラムが長時間描画され、出力が長すぎると、スクロールバーが表示されます。このボタンを押すと、このスクロールバーは自動的に最後までスクロールされます。
ツールバーの横には、スレッド名のリストがあります。右側には、各スレッドの待機時間、つまりスレッド実行前の期間が表示されます。
異なる状態は異なる色でマークされています。凡例がウィンドウに表示されます。
ズームインおよびズームアウトするには、ツールバーの拡大鏡アイコン、または Ctrl+mouse wheel を使用します。
特定のスタックフレームに移動するには、ダイアグラムをクリックします。
グラフのコンテキストメニュー
グラフを右クリックすると、次のコマンドを含むコンテキストメニューが表示されます。
項目 | 説明 |
---|---|
関連するロックを表示する | このコマンドは、コンテキストメニューが呼び出された同じロックで動作するすべてのスレッドの期待値をグラフ上でハイライトします。 |
関連するロックを隠す | このコマンドは、上記のハイライトを隠します。 |
関連ページ:
プロセスに接続
PyCharm は、デバッグモードではなく、オペレーティングシステムまたは PyCharm ターミナルから起動された Python スクリプトを実行しながら、デバッガーを Python ローカルプロセスに接続する方法を提供します。リモートプロセスには接続できないことに注意してください。Ubuntu の前提条件 Ubuntu およびその他の Linux ディストリビューションでは、初めてプロセスに接続しようとすると、Ptrace: 操作不可エラーメッセージが表示される場合があります。次のいずれかを実...
変数の管理ポリシーのロード
PyCharm のデバッグモデルでは、変数の値をロードするための 3 つのポリシーが提供されています。同期的に: 変数はまとめてロードされます。非同期に: 変数は別々にロードされます。オンデマンド: 変数はユーザーの要求に応じてロードされます。デフォルトでは、変数は非同期的にロードされます。ロードポリシーを変更するには、デバッグツールダイアログツールバーでクリックし、に移動して、リストからターゲットポリシーを選択します。ロードポリシーの変更は、デバッグプロセスを再実行した後に有効になることに注...