root としてデバッグする
CLion では、root 権限(英語)でアプリケーションを実行およびデバッグできます。
root 権限で実行する(macOS および Linux の場合)/ 管理者権限で実行する(Windows の場合)オプションは、以下の構成で使用できます。
フレームワークの構成をテストする (Boost.Test、Catch2、CTest アプリケーション、Doctest、Google Test)
root としてデバッグを有効にする
メインメニューで、
に移動します。構成を選択し、root 権限で実行するチェックボックスを設定します。
このチェックボックスを選択すると、実行またはデバッグ用の root 権限で構成が起動されます。
承認時間を設定する
昇格された特権でアプリケーションを実行またはデバッグするたびに承認したくない場合は、承認を保持する時間を構成できます。これは、sudo
コマンドラインプログラムがデフォルトでどのように機能するかと似ています。
昇格された特権で初めて実行またはデバッグするときは、毎回認証するか、設定した期間の認証を付与するかを選択するように求められます。これはいつでも設定で変更できます。
![承認設定ダイアログ Authorization preferences dialog](https://resources.jetbrains.com/help/img/idea/2024.1/cl_debug_as_root_dialog.png)
CLion はパスワードにアクセスできないことに注意してください。認証はシステムダイアログを介して実行されます。設定された時間がなくなると、root 権限ですでに実行されているプロセスは引き続き実行されますが、再度承認するまで、新しい昇格されたプロセスを開始することはできません。
設定で認証期間を設定する
設定で認証を保持する時間を構成することもできます。
に移動します。
(UAC 認証を維持)チェックボックスを設定し、値を指定します。デフォルトは 15 分です。
現在の制限
Windows 上の MinGW および Cygwin の場合、管理者(CPP-22883(英語))としてデバッグするときにセッションを一時停止する際に問題が発生します。
macOS では、プロファイラー(CPP-22842(英語))を使用してルートとして実行すると、プロセスが正しく終了しません。
リモートモードの場合、全体的な仰角構成(CPP-22920(英語))に問題があります。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_cmakeapp_config_settings.png)
実行 / デバッグ構成: CMake アプリケーション
この構成テンプレートを使用して、CMake ターゲットを実行またはデバッグします。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。複数のインスタンスを許可するこの実行構成の複数のインスタンスを並行して実行できるようにします。デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、CLion は実行中の...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_meson_configs_editconfigs.png)
実行 / デバッグ構成: ネイティブアプリケーション
この構成テンプレートを使用して、Makefile および中間子アプリケーションを実行またはデバッグします。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。複数のインスタンスを許可するこの実行構成の複数のインスタンスを並行して実行できるようにします。デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、...
![](https://pleiades.io/icons/clion.png)
実行 / デバッグ構成: Gradle ネイティブアプリケーション
この構成により、Gradle プロジェクトで検出されたターゲットを実行またはデバッグできます。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。複数のインスタンスを許可するこの実行構成の複数のインスタンスを並行して実行できるようにします。デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、CLion...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_custombuildtargets_settings.png)
カスタムビルドのターゲットとアプリケーション
カスタムビルドターゲットは、特定のビルドシステムやプロジェクトモデルに依存しません。CLion は、ソースのビルドとビルドアーティファクトのクリーニングに選択した外部ツールを使用します。カスタムターゲットは、compilation database プロジェクトで特に役立ちます。compile_commands.json 自体にはアプリケーションの構築と実行に必要な情報が不足していますが、カスタムターゲットとカスタム実行 / デバッグ構成はこの制限を回避できます。次の例では、compilation...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_ctest_config_testlist.png)
CTest アプリケーション
このページを使用して、CTest テストの実行 / デバッグオプションを構成します。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名前実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。複数のインスタンスを許可するこの実行構成の複数のインスタンスを並行して実行できるようにします。デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、CLion は実行中の...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_doctest_config_templateslist.png)
Doctest
Doctest は、自己登録テストを備えた単一ヘッダーフレームワークです。ドキュメントに記載されているように、Doctest は Catch の後に設計されており、Catch のコードの一部を共有しています (doctest と Catch の違いを参照)。Doctest はモッキングをサポートしていませんが、trompeloeil、googlemock、または FakeIt などのサードパーティのモッキングライブラリと統合できます。Doctest の基本:Doctest に詳しくない場合は、以下で...