プロセスに接続
PyCharm は、オペレーティングシステムまたは PyCharm ターミナルから起動された Python スクリプトをデバッグモードではなく実行している場合に、Python ローカルプロセスへデバッガーを接続する方法を提供します。 この方法ではリモートプロセスにはアタッチできないため、Docker、WSL、またはリモートホストで実行中の Python プロセスのデバッグには、代わりに DAP に接続する を使用してください。 プロセスへアタッチ機能は、設定で選択されたデバッガーモードにかかわらず、 pydevdバックエンドを使用します。 debugpy バックエンドの DAP サーバーにアタッチするには、 DAP に接続する を使用します。
Ubuntu の前提条件
Ubuntu およびその他の Linux ディストリビューションでは、初めてプロセスに接続しようとすると、 Ptrace: 操作不可エラーメッセージが表示される場合があります。 次のいずれかを実行します:
この制限を一時的に無効にするには、次のコマンドを入力します。
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scopeこの制限を永続的に無効にするには、編集用に /etc/sysctl.d/10-ptrace.conf ファイルを開き、
kernel.yama.ptrace_scope = 1行をkernel.yama.ptrace_scope = 0に変更します。変更をすぐに適用するには、上記のコマンド
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scopeを入力します。または、
sudo service procps restartを実行するか、システムを再始動してください。
詳細は こちらをご覧ください。
ローカルプロセスにアタッチする
Ctrl+Alt+F5 を押すか、メインメニューから を選択します。
PyCharm は、実行中のローカルプロセスのリストを表示します。 アタッチするプロセスを選択します。

プロセスが多すぎる場合は、プロセス名または PID の最初の文字を入力してリストを絞り込むことができます。
プロセスにアタッチ リストに特定のプロセスだけを表示したい場合があります。 必要なパターンを Attach to Process の場合、名前に含まれるプロセスを表示する。 フィールドに、 デバッガー 設定ページで追加してください。 例えば、この文字列に一致するプロセスだけをアタッチしたい場合は、"Scientific" と入力してください。
PyCharm で通常行うのと同じ方法で デバッグを進めます(ブレークポイントの設定、 ステップ実行 、プロセスの 一時停止と再開、 式の評価など)。
アタッチしたプロセスがデバッグ情報を提供しない場合、ブレークポイントは利用できず、 逆アセンブリビューでステップが実行されます。
プロセスから切り離す
リモートプロセスからデタッチする手順は、ローカルデバッグセッションを停止する手順と同じです。 ただし、ローカルセッションとは異なり、デバッガーがデタッチされた後もターゲットプロセスは実行され続けます。
デバッグツールウィンドウ の デバッグ ツールウィンドウのツールバーにある 停止
ボタンをクリックします。
または、メインツールバーの 停止
をクリックするか、 Ctrl+F2 を押してから、閉じるセッションを選択します。