デバッガーオプション
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 です。
デバッガー間の切り替え
に移動します。
右ペインのデバッガーフィールドで、現在のツールチェーンのデバッガーを選択します。
デバッガーのデータビュー
ダイアログでは、C/C++ データ表現をカスタマイズできます。
ここでは、標準ライブラリ型のレンダリング、モジュール名、関数パラメーター型と関数テンプレート引数、その他のオプションを制御できます。または、デバッグツールウィンドウ、フレームビュー、変数ビューでコンテキストメニューを使用します。
STL コンテナーのレンダリング
GNU ライブラリレンダラを有効にするチェックボックスを設定すると、gcc コンパイラーの使用時に GDB による STL コンテナーのレンダリングに影響します。clang を GDB と組み合わせて使用する場合、このオプションは libstdc++
に対してのみ機能します (詳細については、次の章を参照してください)。
現在、このオプションは LLDB には適用されません。LLDB(バージョン 9.0 以降)が以下の LLDB STL フォーマッタで libc++
および libstdcxx
を処理する方法を確認してください。
LLDB STL フォーマッタ
以下のリストは、LLDB バージョン 9.0 で正確です。
タイプ | libcxx | libstdc ++ |
---|---|---|
文字列 |
|
|
配列 |
|
|
ベクター |
|
|
デケ |
|
|
リスト |
|
|
フォワードリスト |
|
|
set |
|
|
マップ |
|
|
マルチセット |
|
|
マルチマップ |
|
|
unordered_set |
|
|
unordered_map |
|
|
unordered_multiset |
|
|
unordered_multimap |
|
|
スタック |
|
|
キュー |
|
|
priority_queue |
|
|
タイプ | libcxx | libstdc ++ |
---|---|---|
文字列 | |
|
配列 |
|
|
ベクター |
|
|
デケ |
|
|
リスト |
|
|
フォワードリスト |
|
|
set |
|
|
マップ |
|
|
マルチセット |
|
|
マルチマップ |
|
|
unordered_set |
|
|
unordered_map |
|
|
unordered_multiset |
|
|
unordered_multimap |
|
|
スタック |
|
|
キュー |
|
|
priority_queue |
|
|
macOS 上の GDB の STL レンダラー
デバッグバックエンドとしての GDB と Clang(CMake のデフォルトコンパイラー)の組み合わせは、macOS で STL コンテナーのコンテンツを表示する際の制限を意味します。回避策として、次の手順を試してください。
libc++
の代わりにlibstdc++
ライブラリを使用してください。libstdc++
をプロジェクトに含めるには、CMakeLists.txt に次のコマンドを追加します。set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")または、CMake のオプションフィールドでライブラリを指定します。
に移動し、-DCMAKE_CXX_FLAGS="-stdlib=libstdc++"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 ファイルに権限を設定します。
GDB タイムアウト値の調整
CLion レジストリで対応するプロパティを設定することにより、GDB タイムアウト値を制御できます。
Ctrl+Shift+A を押すか、メインメニューから
を選択します。開いたポップアップで、Registry
の入力を開始し、対応する項目を選択して Enter を押します。開いたダイアログで、cidr.debugger.timeout と入力し始めます。ハイライトされた文字列の値フィールドをクリックし、ミリ秒単位でタイムアウト値を入力します。
Windows 上での外部 GDB コンソールの設定
8.0 より前のバージョンの GDB を使用する Windows では、アプリケーションの入出力に別のコンソールが使用されます。新しい GDB バージョンの場合、出力はデフォルトで CLion コンソールにリダイレクトされます。ただし、外部出力ウィンドウを開くことに切り替えることができます。
Ctrl+Shift+A を押すか、メインメニューから
を選択します。開いたポップアップで、Registry
の入力を開始し、対応する項目を選択して Enter を押します。開いたダイアログで、cidr.debugger.gdb.workaround.windows.forceExternalConsole と入力し始めます。ハイライトされた文字列の値フィールドをクリックし、ミリ秒単位でタイムアウト値を入力します。
関連ページ:
チュートリアル: 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 日本語公式ヘルプ。最新の英語版ヘルプ内容が随時反映されます。