CLion 2020.2 ヘルプ

デバッガーオプション

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

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

  • macOS 用 GDB v 8.0.1

  • Windows 用 GDB v 8.3

  • Linux 用 GDB v 8.3

  • macOS および Linux 用 LLDB v 9.0.1

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

カスタム GDB の場合、CLion はバージョン 7.8.x-8.3.x をサポートします。

デバッガー間の切り替え

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

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

    the Select debugger list

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

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

C/C++ debugger data views settings
オプション 説明
GNU ライブラリレンダラを有効にする

このオプションは、gcc コンパイラーを使用する場合、GDB による STL コンテナーのレンダリングに影響します。GDB とペアで使用される clang の場合、このオプションは libstdc++ でのみ機能します(詳細については次の章を参照)。

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

スコープ外の変数を非表示にする このチェックボックスを選択すると、初期化されていない変数と現在のスコープで使用できない変数が変数ペインとインラインビューから非表示になります。
数字の 16 進値を表示する このチェックボックスは、実験的な機能ダイアログで 16 進表示を有効にした後に表示されます。

LLDB STL フォーマッタ

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

タイプ libcxxlibstdc ++
文字列 check retina pngcheck retina png
配列 check retina pngcheck retina png
ベクター check retina pngminus retina png
デケ check retina pngminus retina png
リスト check retina pngminus retina png
フォワードリスト check retina pngminus retina png
セット check retina pngminus retina png
マップ check retina pngminus retina png
マルチセット check retina pngminus retina png
マルチマップ check retina pngminus retina png
unordered_setcheck retina pngminus retina png
unordered_mapcheck retina pngminus retina png
unordered_multisetcheck retina pngminus retina png
unordered_multimapcheck retina pngminus retina png
スタック check retina pngminus retina png
キュー check retina pngminus retina png
priority_queuecheck retina pngminus retina png
タイプ libcxxlibstdc ++
文字列 -fstandalone-debug でコンパイルした場合は check retina png check retina png
配列 check retina pngcheck retina png
ベクター check retina pngcheck retina png
デケ check retina pngcheck retina png
リスト check retina pngcheck retina png
フォワードリスト check retina pngminus retina png
セット check retina pngcheck retina png
マップ check retina pngcheck retina png
マルチセット check retina pngcheck retina png
マルチマップ check retina pngcheck retina png
unordered_setcheck retina pngminus retina png
unordered_mapcheck retina pngminus retina png
unordered_multisetcheck retina pngminus retina png
unordered_multimapcheck retina pngminus retina png
スタック check retina pngcheck retina png
キュー check retina pngcheck retina png
priority_queuecheck retina pngcheck 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 構成ファイルでの使用

コマンドとオプションを .gdbinit / .lldbinit ファイルに渡すことにより、デバッガー設定をカスタマイズする必要がある場合があります。

デフォルトでは、CLion はユーザーのホームディレクトリから .gdbinit または .lldbinit を使用します(それぞれ ~/.gdbinit または ~/.lldbinit)。この動作を変更して、プロジェクトルートからデバッガー構成ファイルを読み取ることができます。

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

ホーム ~/.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 を押して)、レジストリと入力します。

      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 を押して)、レジストリと入力します。

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

      Registry key to enable external GDB console on Windows

    最終更新日 :

    関連ページ:

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

    Windows では、CLion を設定するには、環境を設定する必要があります。Cygwin、MinGW、WSL、またはMicrosoft Visual C++です。システムに複数の環境をインストールして、それぞれに個別の CLion ツールチェーンを作成することができます。ツールチェーンの決定的な...

    IDE 設定を共有する

    CLion を使用すると、製品の異なるインスタンス間、またはチームメンバー間で IDE 設定を共有できます。これにより、さまざまなコンピューターで作業していて、慣れ親しんでいるものとは異なる見た目や動作に煩わされたり、チーム全体で同じ標準を適用したりする場合に、快適な作業環境を再現できます。特定のプ...

    16進数表示

    整数型の数値変数の場合、代わりに、または元のフォーマットと一緒に16進表現を調べることができます。整数型の16進表示は、リモートデバッグケースとWSLを含むすべてのプラットフォームのGDBデバッガーとLLDBデバッガーの両方で使用できます。現在、この機能は実験的です。16進表示を有効にするメンテナン...

    CMakeLists.txt

    CMakeLists.txtファイルには、プロジェクトのソースファイルとターゲット(実行可能ファイル、ライブラリ、またはその両方)を記述する指示文と命令のセットが含まれています。新しいプロジェクトを作成すると、CLion は自動的にCMakeLists.txtファイルを生成してプロジェクトのルートデ...

    WSL

    WSL(WSL 2)-Windows Subsystem for Linux-Windows 10 で Linux バイナリ実行可能ファイルをネイティブに実行するための互換性レイヤーです。現在、Ubuntu、OpenSUSE、SLES などのいくつかのLinux ディストリビューションをサポートして...

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

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