CLion 2024.1 ヘルプ

プロセスに接続

CLion は、ローカルプロセスとリモートプロセスの両方にデバッガーを接続する方法を提供します。

C/C++ アプリケーションの場合、Windows では GDB または MSVC LLDB、macOS では LLDB、Linux では GDB と LLDB の両方を使用してプロセスにアタッチできます。該当する場合は、他の言語のデバッガー (Python デバッガーなど) も使用できます。

Ubuntu の前提条件

Ubuntu およびその他の Linux ディストリビューションでは、初めてプロセスに接続しようとすると、Ptrace: 操作不可エラーメッセージが表示される場合があります。次のいずれかを実行します。

  1. この制限を一時的に無効にするには、次のコマンドを入力します。

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  2. この制限を永続的に無効にするには、編集用に /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 を実行するか、システムを再始動してください。

詳細については、こちら(英語)をご覧ください(英語)

プロセスへのアタッチ

  1. Ctrl+Alt+F5 を押すか、メインメニューから実行 | プロセスにアタッチを選択します。

    プロセスにアタッチダイアログには、検出されたすべての実行プロセスのリストが開きます。

    プロセスをリストまたはツリーとして表示し、名前で特定のプロセスを検索できます。

    Searching in the Attach to Process dialog

    プロセスごとに、実行可能ファイルの名前とプロセス ID、それを起動したユーザー、使用可能なデバッガー、起動に使用されたコマンドを見つけることができます。

    ドロップダウンメニューを使用して、デバッガーの種類によってプロセスのリストをフィルタリングします。

    A list of debugger to attach

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

    Show only my processes in the attach to process
  2. ローカルタブには、ローカルプロセスのリストが表示されます。プロセスを選択し、「で取り付けます ...」をクリックします。

    SSH」タブに切り替えて、リモートプロセスのリストを表示します。事前に必ず SSH 資格情報を使用してリモートツールチェーンを構成してください。

    Attaching to a remote process

    Windows では、「WSL」タブに切り替えて、WSL プロセスのリストを開きます。WSL GDB デバッガーを使用してそれらに接続できるようになります (プロジェクト内に少なくとも 1 つの WSL ツールチェーンが構成されている場合)。

  3. CLion で通常行うのと同じ方法でデバッグを続行します ( ブレークポイントの設定ステップスルー、プロセスの一時停止と再開、式の評価など)。

プロセスから切り離す

リモートプロセスから切断する手順は、デバッグセッションを停止する場合と同じです。ただし、接続を解除すると、デバッグセッションは終了しますが、プロセスは引き続き実行されることに注意してください。

  • デバッグツールウィンドウのメインツールバーにある停止 the Stop button ボタンをクリックします。

  • または、メインツールバーの停止 the Stop button をクリックするか、Ctrl+F2 を押してから、閉じるセッションを選択します。

関連ページ:

デバッグセッションの開始 / 一時停止 / 停止

デバッグする前にソースコード内のブレークポイントの設定。必要に応じて、対応する実行 / デバッグ構成を作成または変更します。デバッグセッションは、選択された実行 / デバッグ構成で開始します。いくつかのデバッグプロセスを同時に起動できることに注意してください。デバッグセッションを開始する実行する実行 / デバッグ構成を選択し、次のいずれかの操作を行います。左ガターのアイコンをクリックし、を選択します。ツールバーのをクリックします。メインメニューからを選択します。を押します。、を押してなんでも実...

WSL2

WSL(WSL 2) – Windows Subsystem for Linux – は、Windows 10 以降で Linux バイナリ実行ファイルをネイティブに実行するための互換性レイヤーです。現在、Ubuntu、OpenSUSE、SLES など、いくつかの Linux ディストリビューションをサポートしています。プロジェクトに WSL ツールチェーンを設定すると、Windows マシンで実行されている CLion を移動せずに、Linux のツールチェーンを使用してビルドし、WSL で実行...

デバッグ

デバッグセッション中、デバッガーはプログラムの実行を妨害し、内部で何が起こっているかに関する情報を提供します。CLion でのデバッグの基礎については、このビデオを参照してください。一般的なデバッグ手順デバッガー設定を構成します。CMake プロジェクトの場合、目的の CMake プロファイルを選択します。必要に応じて、既存の実行 / デバッグ構成を作成または変更します。コードにブレークポイントを配置します。デバッグ <構成名> ボタンをクリックするか、他のオプションを使用してデバッグセ...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:CLion

ステップスルー

CLion は、さまざまなデバッグ戦略のための一連のステップアクションを提供します(たとえば、次の行に直接移動する必要があるか、途中で呼び出された関数を入力する必要があるかなど)。ステップアクションは、デバッガーウィンドウのツールバーとメニューにあります。ステップオーバー:現在の行に関数呼び出しが含まれている場合でも、現在の行をステップオーバーして、次の行に移動します。呼び出しはスキップされ、発信者の次の行に直接移動します。ステップオーバーボタンをクリックするか、を押します。スキップされたメ

中断されたプログラムを調べる

デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止する、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームとスレッド:プログラムの状態はフレームで表されます。プログラムが中断されると、現在のフレームスタックがフレームペインに表示されます。フレームはアクティブなメソッドまたは関数呼