実行ポイントを設定する
実行ポイントの設定アクションを使用すると、デバッグセッション中にエディター内の任意のコード行に移動して、実行ポイントを設定し、その間にある他のすべてのコマンドをスキップできます。
このアクションは、線形実行パスと非線形実行パスの両方で機能します。これを使用して、ループを中断してスキップしたり、if-else
句式または switch -case
ステートメントで別のブランチを選択したりできます。例: このアクションは、デバッグセッションを再開せずに別のブランチを確認したい場合に便利です。
セット実行ポイントを呼び出す
次のオプションのいずれかを使用します。
現在の実行ポインター(ガターのオレンジ色の矢印)を必要なコード行にドラッグします。
キャレットを必要なラインに配置し、実行ポイントをカーソルに設定を呼び出します。
(Ctrl+Shift+A)から実行ポイントをカーソルに設定アクションのショートカットを割り当てます。
で、設定を保存し、必要な行にキャレットを配置して、ショートカットを使用します。
その結果、実行は新しい場所から再開され、その間のコマンドはスキップされます。
![Set execution point](https://resources.jetbrains.com/help/img/idea/2024.1/cl_set_execution_linear.png)
実行ポイントの設定を使用するときは、考えられる悪影響を考慮に入れてください。
変数が初期化される行を飛び越えると、スタック / レジスタから値を取得します。
実行可能コードがコンパイラーによって最適化された場合、予期しない結果が得られたり、実行ポイントをまったく移動できなかったりする可能性があります。
現在の制御フローグラフで呼び出されていない関数に移動すると、CLion は実行が中断される可能性があることを警告します(現在 GDB ではサポートされていません(英語))。
また、複数の候補が存在するエラー(CPP-21800(英語))や
std::cin
およびstd::cout
の問題(CPP-22055(英語))など、他の既知の問題もあります。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_disasm_ondemand_framesmenu.png)
逆アセンブルされたコードをデバッグする
デバッグセッション中に、逆アセンブルされたコードを開くことができますソースが利用可能な場合、任意のフレームに対してオンデマンド、ソースが利用できないときに強制的にそこに踏み込むこと、フレームの分解ビューを開くデバッグツールウィンドウで目的のフレームを右クリックし、逆アセンブルを選択します。逆アセンブリビューがソースコードと並んで開きます。開くと、分解ビューは現在選択されているフレームと同期したままになります。フレームが切り替わると、エディターと逆アセンブリビューの両方が実行ポイントまでスクロール...
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_debugger_stepout_returnvalue.png)
ステップスルー
CLion は、さまざまなデバッグ戦略のための一連のステップアクションを提供します(たとえば、次の行に直接移動する必要があるか、途中で呼び出された関数を入力する必要があるかなど)。ステップアクションは、デバッガーウィンドウのツールバーとメニューにあります。ステップオーバー:現在の行に関数呼び出しが含まれている場合でも、現在の行をステップオーバーして、次の行に移動します。呼び出しはスキップされ、発信者の次の行に直接移動します。ステップオーバーボタンをクリックするか、を押します。スキップされたメ
![](https://resources.jetbrains.com/help/img/idea/2024.1/cl_exception_breakpoint_setting.png)
ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:CLion