実行とデバッグ

構成

CLion ではプロジェクト(CMake、Makefile、Gradle プロジェクト)の各ターゲットに対してビルドや実行できる構成が作成されます。また、ビルドフェーズの前後で実行する外部ツールを個別の UI ダイアログで設定できます。

構成

Configurationテンプレート

Configurationテンプレートを使用して、ユニットテストやリモートデバッグ、アプリケーションの通常実行用のテンプレートを作成しましょう。

Run(実行) configuration

実行可能ファイルは、どんな構成に対しても変更できます。 この値をNot selectedに変更することで、構成を実行不可能にすることも できます。

Ctrl+F9を押してプロジェクトをビルドし、 Shift+F10を押して 現在選択されている構成を実行します。

Debug(デバッグ) configuration

デバッグするにはShift+F9を押します。

CLionは、デバッグ中にコードの状態を調べるための Step over/into(F8/F7)、 Step out (Shift+F8)、またはRun to cursor(Alt+F9)などのたくさんの有用ショートカットを提供します。

カスタムビルドと実行

custom_target

ビルドシステムに依存しない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経由で))。

ブレークポイント
  • Line breakpointsはコードをデバッグするための最も簡単な方法です。 行の左側ガターをマウスでクリックして、ブレークポイントを設定します。
  • Symbolic breakpointsは、特定の関数が実行を開始したときにプログラムの実行を停止するのに役立ちます。ブレークポイント コード補完を活用して、シンボルを名前で検索し、該当の関数に移動します。
  • Exception breakpointsでは、投げられた例外を簡単にキャッチできます。
実行ポイントの設定

実行ポイントの設定

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(並行スタック)ビュー

Parallel Stacks(並行スタック)ビュー

マルチスレッドアプリケーションをデバッグする場合、同時に複数のスレッドを追跡する必要があります。 Parallel Stacks(並行スタック)ビューは Debug(デバッグ)ツールウィンドウ内に独立したタブとして実装されており、すべてのスレッドのスレッド呼び出しスタック情報を表示することができるため、 実行中のすべてのスレッドの呼び出しパスと実行ポイントを確認することが可能です。

Windows のシンボルサーバー

デバッグ中にライブラリのシンボルがローカルマシンで使用できない場合があります。 このような場合は各開発者のマシンではなく、サーバーでデバッグシンボルを一元保管するシンボルサーバーというファイルサーバーを使用できます。 Windows の CLion では、Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Debugger(デバッガー)| Symbol Servers(シンボルサーバー)で、デバッガー用のシンボルサーバーを構成できるようになりました。

詳細はこちらをご覧ください