CLion 2024.1 ヘルプ

デバッガーオプション

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

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

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

  • Linux 用 GDB v 14.1

  • macOS および Linux 用 LLDB v 17.0.6

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

カスタム GDB バイナリを使用することもできます。サポートされているバージョンは 7.8.x-14.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.png

check_retina.png

配列

check_retina.png

check_retina.png

ベクター

check_retina.png

minus_retina.png

デケ

check_retina.png

minus_retina.png

リスト

check_retina.png

minus_retina.png

フォワードリスト

check_retina.png

minus_retina.png

set

check_retina.png

minus_retina.png

マップ

check_retina.png

minus_retina.png

マルチセット

check_retina.png

minus_retina.png

マルチマップ

check_retina.png

minus_retina.png

unordered_set

check_retina.png

minus_retina.png

unordered_map

check_retina.png

minus_retina.png

unordered_multiset

check_retina.png

minus_retina.png

unordered_multimap

check_retina.png

minus_retina.png

スタック

check_retina.png

minus_retina.png

キュー

check_retina.png

minus_retina.png

priority_queue

check_retina.png

minus_retina.png

タイプ

libcxx

libstdc ++

文字列

-fstandalone-debug でコンパイルした場合は check_retina.png

check_retina.png

配列

check_retina.png

check_retina.png

ベクター

check_retina.png

check_retina.png

デケ

check_retina.png

check_retina.png

リスト

check_retina.png

check_retina.png

フォワードリスト

check_retina.png

minus_retina.png

set

check_retina.png

check_retina.png

マップ

check_retina.png

check_retina.png

マルチセット

check_retina.png

check_retina.png

マルチマップ

check_retina.png

check_retina.png

unordered_set

check_retina.png

minus_retina.png

unordered_map

check_retina.png

minus_retina.png

unordered_multiset

check_retina.png

minus_retina.png

unordered_multimap

check_retina.png

minus_retina.png

スタック

check_retina.png

check_retina.png

キュー

check_retina.png

check_retina.png

priority_queue

check_retina.png

check_retina.png

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 ファイルに権限を設定します。

GDB 11.1 以降では、代わりに $HOME/.config/gdb/gdbinit または $HOME/Library/Preferences/gdb/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. Ctrl+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. Ctrl+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」プロジェクト...

    バージョン管理

    C/C++ 開発環境 CLion の使い方や高等テクニック満載の JetBrains 日本語公式ヘルプ。最新の英語版ヘルプ内容が随時反映されます。