CLion 2023.2 ヘルプ

デバッガーオプション

CLion では、macOS/Linux の LLDB(英語) および Windows/Linux の GDB(英語) を使用して C/C++ 実行可能ファイルをデバッグできます (macOS の GDB を使用したデバッグは、カスタム GDB バイナリでのみ可能です)。また、Windows には MSVC ツールチェーン用の LLDB ベースのデバッガーがあります。

バンドルされたデバッガーの現在のバージョン:

  • Windows 用 GDB v 13.1 (ローカルデバッグは Windows ARM64 ではサポートされていません)

  • Linux 用 GDB v 13.1

  • macOS および Linux 用 LLDB v 15.0.5

  • Windows 上の MSVC ツールチェーン用の LLDB v 9.0.0

カスタム GDB バイナリを使用することもできます。サポートされているバージョンは 7.8.x-13.1 です。

デバッガー間の切り替え

  1. 設定 | ビルド、実行、デプロイ | ツールチェーンに移動します。

  2. 右ペインのデバッガーフィールドで、現在のツールチェーンのデバッガーを選択します。

    the Select debugger list

デバッガーのデータビュー

設定 | ビルド、実行、デプロイ | デバッガー | データビュー | C/C++ ダイアログでは、C/C++ データ表現をカスタマイズできます。

C/C++ debugger data views settings

ここでは、標準ライブラリ型のレンダリング、モジュール名、関数パラメーター型と関数テンプレート引数、その他のオプションを制御できます。または、デバッグツールウィンドウ、フレームビュー、変数ビューでコンテキストメニューを使用します。

Frames view context options
Variables view context options

STL コンテナーのレンダリング

GNU ライブラリレンダラを有効にするチェックボックスを設定すると、gcc コンパイラーの使用時に GDB による STL コンテナーのレンダリングに影響します。clang を GDB と組み合わせて使用する場合、このオプションは libstdc++ に対してのみ機能します (詳細については、次の章を参照してください)。

現在、このオプションは LLDB には適用されません。LLDB(バージョン 9.0 以降)が以下の LLDB STL フォーマッタlibc++ および libstdcxx を処理する方法を確認してください。

LLDB STL フォーマッタ

以下のリストは、LLDB バージョン 9.0 で正確です。

タイプ

libcxx

libstdc ++

文字列

Check retina

Check retina

配列

Check retina

Check retina

ベクター

Check retina

Minus retina

デケ

Check retina

Minus retina

リスト

Check retina

Minus retina

フォワードリスト

Check retina

Minus retina

set

Check retina

Minus retina

マップ

Check retina

Minus retina

マルチセット

Check retina

Minus retina

マルチマップ

Check retina

Minus retina

unordered_set

Check retina

Minus retina

unordered_map

Check retina

Minus retina

unordered_multiset

Check retina

Minus retina

unordered_multimap

Check retina

Minus retina

スタック

Check retina

Minus retina

キュー

Check retina

Minus retina

priority_queue

Check retina

Minus retina

タイプ

libcxx

libstdc ++

文字列

-fstandalone-debug でコンパイルした場合は Check retina

Check retina

配列

Check retina

Check retina

ベクター

Check retina

Check retina

デケ

Check retina

Check retina

リスト

Check retina

Check retina

フォワードリスト

Check retina

Minus retina

set

Check retina

Check retina

マップ

Check retina

Check retina

マルチセット

Check retina

Check retina

マルチマップ

Check retina

Check retina

unordered_set

Check retina

Minus retina

unordered_map

Check retina

Minus retina

unordered_multiset

Check retina

Minus retina

unordered_multimap

Check retina

Minus retina

スタック

Check retina

Check retina

キュー

Check retina

Check retina

priority_queue

Check retina

Check retina

macOS 上の GDB の STL レンダラー

デバッグバックエンドとしての GDBClangCMake のデフォルトコンパイラー)の組み合わせは、macOS で STL コンテナーのコンテンツを表示する際の制限を意味します。回避策として、次の手順を試してください。

  1. libc++ の代わりに libstdc++ ライブラリを使用してください。libstdc++ をプロジェクトに含めるには、CMakeLists.txt に次のコマンドを追加します。

    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")

    または、設定 | ビルド、実行、デプロイ | CMake に移動し、CMake のオプションフィールドでライブラリを指定します。

    -DCMAKE_CXX_FLAGS="-stdlib=libstdc++"

  2. dwarf3 デバッグ情報形式を使用することもお勧めします。このために、次のコマンドを CMakeLists.txt に追加します。

    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -gdwarf-3") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -gdwarf-3")

カスタム .gdbinit/ .lldbinit ファイル

プロジェクトでデバッグ用にさらに多くの構成オプションが必要な場合は、カスタム初期化ファイル(GDB の場合は .gdbinit(英語)、LLDB の場合は .lldbinit(英語))を作成し、プロジェクトルートに配置できます。このファイルは、他のプロジェクトファイルと一緒に VCS を介して共有できます。

通常、GDB/LLDB は、起動時に特定の順序で複数の初期化ファイルをロードします。最初に、デバッガーはユーザーのホームディレクトリで初期化ファイルを探し、次に現在の作業ディレクトリ(プロジェクトルート)でファイルを探します。

デフォルトでは、セキュリティ上の理由から、プロジェクト固有の init ファイルからのコマンドは実行されません。これを可能にするには、以下に説明するように、ホームディレクトリの init ファイルを変更します。

プロジェクト固有の .gdbinit/ .lldbinit の読み取りを有効にする

ホーム ~/.gdbinit ファイルに権限を設定します。

WSL を使用する場合は、WSL のホームディレクトリ /home/[user]/.gdbinit にある .gdbinit ファイルを編集します。

  • すべてのプロジェクト

    set auto-load local-gdbinit on add-auto-load-safe-path /

  • 特定のプロジェクト用

    set auto-load local-gdbinit on add-auto-load-safe-path [full path to the project root]/.gdbinit

ホーム ~/.lldbinit ファイルに権限を設定します。

settings set target.load-cwd-lldbinit true

    GDB タイムアウト値の調整

    CLion レジストリで対応するプロパティを設定することにより、GDB タイムアウト値を制御できます。

    1. Control+Shift+A を押すか、メインメニューからヘルプ | アクションの検索を選択します。開いたポップアップで、Registry の入力を開始し、対応する項目を選択して Enter を押します。

      Searching for Registry in Find Action
    2. 開いたダイアログで、cidr.debugger.timeout と入力し始めます。ハイライトされた文字列のフィールドをクリックし、ミリ秒単位でタイムアウト値を入力します。

      registry keys for GDB timeouts

    Windows 上での外部 GDB コンソールの設定

    8.0 より前のバージョンの GDB を使用する Windows では、アプリケーションの入出力に別のコンソールが使用されます。新しい GDB バージョンの場合、出力はデフォルトで CLion コンソールにリダイレクトされます。ただし、外部出力ウィンドウを開くことに切り替えることができます。

    1. Control+Shift+A を押すか、メインメニューからヘルプ | アクションの検索を選択します。開いたポップアップで、Registry の入力を開始し、対応する項目を選択して Enter を押します。

      Searching for Registry in Find Action
    2. 開いたダイアログで、cidr.debugger.gdb.workaround.windows.forceExternalConsole と入力し始めます。ハイライトされた文字列のフィールドをクリックし、ミリ秒単位でタイムアウト値を入力します。

      Registry key to enable external GDB console on Windows

    関連ページ:

    チュートリアル: macOS に CLion を設定する

    このチュートリアルでは、macOS の CLion のインストール、更新、初期設定のプロセスについて説明します。インストール手順:macOS への CLionLion のインストールを開始する前に、マシンがハードウェア要件を満たしていること、および macOS のバージョンが 10.9.4+ であることを確認してください。手動インストールとパッチの更新 macOS 用の CLion の最新リリースまたは EAP バージョンをダウンロードします(以前のバージョンは以前の CLion リリースページで入...

    チュートリアル: Windows で CLion を設定する

    WSL ツールチェーンを使用すると、Linux の CMake とコンパイラーを使用してプロジェクトを構築し、Windows マシンで leavCLionLion を実行せずに WSL で実行 / デバッグできます。Microsoft Visual C++:システムに Visual Studio2013, 2015, 2017, 2019,, 2022 をインストールしてください。CLion で、に移動します。をクリックし、ツールチェーンテンプレートのリストから Visual Studio を選択しま...

    IDE 設定を共有する

    CLion を使用すると、CLion の異なるインスタンス間、または使用する異なる IntelliJ ベースの IDE 製品間で IDE 設定を共有できます。これにより、別のコンピューターから作業している場合に、快適な作業環境を再構築し、見慣れたものと異なる動作をする煩わしさを回避できます。IDE 設定を共有するには、いくつかの方法があります。設定の同期プラグイン経由:JB アカウントを使用し、そのアカウントでログインしているすべての IDE で同期された設定を利用できるようにします。同期できる...

    デバッグツールウィンドウ

    デバッグセッションを開始すると、デバッグツールウィンドウが開きます。このウィンドウでは、さまざまなデバッガーアクションを実行し、プログラムデータ(フレーム、スレッド、変数など)を分析できます。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。セッション:使用可能なデバッグセッションは、デバッグツールウィンドウの上部でタブに分割されています。特定の実行 / デバッグ構成に対してサービスウィンドウを有効にすると、こ...

    CMakeLists.txt

    CMakeLists.txt ファイルには、プロジェクトのソースファイルとターゲット(実行可能ファイル、ライブラリ、その両方)を記述する指示文と命令のセットが含まれています。新しいプロジェクトを作成すると、CLion は自動的に CMakeLists.txt ファイルを生成してプロジェクトのルートディレクトリに配置します。プロジェクトを開くには、CLion を最上位の CMakeLists.txt にポイントしてプロジェクトとして開くを選択します。以下の例は、単純な「Hello, World」の CMake...

    バージョン管理

    VCS 操作のポップアップ () またはを使用して、VCS 関連のコマンドをすばやく呼び出します。ポップアップ内のアクションのリストは、現在有効になっている VCS によって異なります。次のショートカットを使用して、グローバルバージョン管理コマンドを呼び出すこともできます。VCS 操作のポップアップ ... コミット ... プロジェクトの更新ロールバックプッシュ ... 次の変更前の変更バージョン管理ウィンドウを表示するコミットウィンドウを表示...