CLion ではプロジェクト(CMake、Makefile、Gradle プロジェクト)の各ターゲットに対してビルドや実行できる構成が作成されます。また、ビルドフェーズの前後で実行する外部ツールを個別の UI ダイアログで設定できます。
Configurationテンプレートを使用して、ユニットテストやリモートデバッグ、アプリケーションの通常実行用のテンプレートを作成しましょう。
実行可能ファイルは、どんな構成に対しても変更できます。 この値をNot selectedに変更することで、構成を実行不可能にすることも できます。
Ctrl+F9を押してプロジェクトをビルドし、 Shift+F10を押して 現在選択されている構成を実行します。
デバッグするにはShift+F9を押します。
CLionは、デバッグ中にコードの状態を調べるための Step over/into(F8/F7)、 Step out (Shift+F8)、またはRun to cursor(Alt+F9)などのたくさんの有用ショートカットを提供します。
ビルドシステムに依存しないBuild Targetsでは、カスタムなターゲットを追加でき、ターゲットをビルド/掃除するためのツールを設定できます。
CLionからカスタムなターゲットを実行し、デバッグするには、Custom Build Applicationのテンプレートを使用して、該当の実行/デバッグの構成を作成します。
CLionでCMakeまたはコンピレーションデータベースプロジェクトを扱っているとき、開発周期を早めるには、Recompile(Shift+Ctrl+F9)を使用します。 プロジェクト全体の再コンパイルをすることなく、選択されたファイルのコンパイルを再実行します。
CMakeを使用している場合、ツールバーの「Run Configurations switcher」またはRun(実行)( Shift+Alt+F10 )/Debug(デバッグ)( Shift + Alt + F9 )構成切替ポップアップで、CMakeプロファイル(とビルドタイプ)間を切り替えます。
CLionはPTYをI/O用に使用します。つまり、Windowsでも、ターミナルでプロジェクトを 実行するのと同じような動作が期待できます。
CLionは、すべてのプラットフォームでGDBバックエンドと統合し、macOSとLinuxの場合はLLDBとも統合します。
CLion では、同一またはリモートのマシンで実行していても IDE から起動されていないプロセスを pid またはプロセス名を使って接続することでデバッグできます。 CLion の組み込みデバッガー UI のメリットをご活用ください。
CLionには、コードの実行を調べるための組み込みデバッガが含まれています。 CLionでは、いくつかの 種類のブレークポイントから選ぶことができます。(すべてのブレークポイントは、 別のダイアログウインドウで確認できます( Ctrl+Shift+F8経由で))。
Set Execution Point to Cursor アクションを使うと、デバッグ中にプログラムの実行を前に進めたり後に戻したり、ループの中止や再開、if-else
文または switch-case
文の別のブランチの選択、およびループの完全省略が可能です。 ガターにある矢印を関心のある行にドラッグアンドドロップするだけで、簡単に操作できます。
STLコンテイナーの内容を含む利用可能なすべての変数の説明は、デバッグツールウインドのVariablesタブにあります。 そのタブで、現在のデバッグセッションを中断せずに、値を監視、または変更することができます。
GDB/LLDBタブでは、GDB/LLDBコンソールを利用できます。FrameとWatchesのビューは問題をより詳細に調査するのに役立ちます。 おまけとして、ウォッチするシンボルを選ぶとき、自動補完を活用できます。
さらに、デバッグセッション中に、Alt+F8を押すだけで、どんな式も評価することができます。
この機能では、現在の変数の値をエディタで確認できます(変数の宣言の横)。 デバッグツールウインドウに切り替える必要はありません!
エディターで適切にハイライトされるアセンブリコードを読み取り、ステップ実行により問題を調査します。
アセンブリコードをステップ実行する際は、命令行に対してブレークポイントを追加/除去できます。 これらのアドレスブレークポイントについて非デフォルトの構成を使用するには、コンテキストメニューを右クリックしてください。
GDBとLLDBに対応しています。
デバッグモードでは、メモリービューは、ポインターにおいてのメモリーをダンプします。 呼び出すには、デバッガの変数ビューでポインター変数を選択し、Ctrl+Enterを押します。
ステップ実行の時にメモリービューが開かれている場合、CLionは、選択されたメモリーの一部で起きるメモリー変化を強調表示します。
Memory Viewからメモリ内の特定のアドレスに移動できます。 アドレスを表す16進数値、ポインタ変数を使用するか、関心のある任意の変数のアドレス(&
)を呼び出してください。
コード補完は既知のシンボルの入力を支援します。
CLion では、ルート権限でアプリケーションを実行してデバッグできます。対応する Run/Debug 構成でこのオプションを選択するだけで可能です。 この機能は、CMake、Makefile、Gradle Native、Custom Build、および CTest アプリケーションで利用できます。
Run | Open Core Dump… アクションを使うと、クラッシュしたプロセスの既存のコアダンプを CLion で開き、そのままデバッグを実行できます。 ユーザーはデバッガーコンソールで、フレームと変数ビューの検査、メモリと逆アセンブリビューの確認、式の評価、およびデバッガコマンドの実行を行えます。
マルチスレッドアプリケーションをデバッグする場合、同時に複数のスレッドを追跡する必要があります。 Parallel Stacks(並行スタック)ビューは Debug(デバッグ)ツールウィンドウ内に独立したタブとして実装されており、すべてのスレッドのスレッド呼び出しスタック情報を表示することができるため、 実行中のすべてのスレッドの呼び出しパスと実行ポイントを確認することが可能です。
デバッグ中にライブラリのシンボルがローカルマシンで使用できない場合があります。 このような場合は各開発者のマシンではなく、サーバーでデバッグシンボルを一元保管するシンボルサーバーというファイルサーバーを使用できます。 Windows の CLion では、Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Debugger(デバッガー)| Symbol Servers(シンボルサーバー)で、デバッガー用のシンボルサーバーを構成できるようになりました。