プロセスに接続
CLion は、ローカルプロセスとリモートプロセスの両方にデバッガーを接続する方法を提供します。
C/C++ アプリケーションの場合、Windows では GDB または MSVC LLDB、macOS では LLDB、Linux では GDB と LLDB の両方を使用してプロセスにアタッチできます。 該当する場合は、他の言語のデバッガー (Python デバッガーなど) も使用できます。
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 を押すか、メインメニューから を選択します。
プロセスにアタッチ ダイアログには、検出されたすべての実行プロセスのリストが開きます。
プロセスをリストまたはツリーとして表示し、名前で特定のプロセスを検索できます。

プロセスごとに、実行可能ファイルの名前とプロセス ID、それを起動したユーザー、使用可能なデバッガー、起動に使用されたコマンドを見つけることができます。
ドロップダウンメニューを使用して、デバッガーの種類によってプロセスのリストをフィルタリングします。

自分のプロセスのみを表示 を設定してリストをフィルタリングすることもできます。

ローカル タブには、ローカルプロセスのリストが表示されます。 プロセスを選択し、「で 取り付けます ... 」をクリックします。
「SSH 」タブに切り替えて、リモートプロセスのリストを表示します。 事前に必ず SSH 資格情報を使用してリモートツールチェーンを構成してください。

Windows では、「WSL 」タブに切り替えて、WSL プロセスのリストを開きます。 WSL GDB デバッガーを使用してそれらに接続できるようになります (プロジェクト内に少なくとも 1 つの WSL ツールチェーンが構成されている場合)。
CLion で通常行うのと同じ方法で デバッグを続行します(ブレークポイントの設定、 ステップ実行 、プロセスの 一時停止と再開、 式の評価など)。
開始されていないプロセスにアタッチする
アタッチ先のプロセスがまだ実行されていない場合は、 開始されていないプロセスにアタッチする アクションを使用してアタッチを事前構成できます。
コード内の 必要なブレークポイントを設定します。
メインメニューから を選択します。
開いたダイアログで、プロセスのコマンドラインまたは実行可能ファイル名を指定します。
CLion が接続されたらプロセスを一時停止したい場合は、 アタッチ後、プロセスを一時停止したままにする チェックボックスを設定します。
デバッグセッションが終了した後に CLion がこのダイアログを再度開かないようにするには、 デバッグ後にダイアログを再度開く チェックボックスをオフにします。
接続 をクリックし、デバッガーを選択します (該当する場合)。

CLion がウォッチを開始します。 プロセスを識別すると、自動的にそのプロセスにアタッチし、デバッグを開始します。
プロセスから切り離す
リモートプロセスから切断する手順は、デバッグセッションを停止する場合と同じです。 ただし、接続を解除すると、デバッグセッションは終了しますが、プロセスは引き続き実行されることに注意してください。
デバッグツールウィンドウ のメインツールバーにある 停止
ボタンをクリックします。
または、メインツールバーの 停止
をクリックするか、 Ctrl+F2 を押してから、閉じるセッションを選択します。