JetBrains Rider 2024.1 ヘルプ

C++ の分解図

デバッグセッション中に、逆アセンブルされた C++ コードを開くことができます。

  • ソースが利用可能な場合、任意のフレームに対してオンデマンド

  • ソースが利用できないときに強制的にそこに踏み込むこと

フレームの分解ビューを開く

  1. デバッグツールウィンドウで目的のフレームを右クリックし、逆アセンブルを選択します。

  2. 逆アセンブリビューがソースコードと並んで開きます。

    Disasm on demand example

    開くと、分解ビューは現在選択されているフレームと同期したままになります。フレームが切り替わると、エディターと逆アセンブリビューの両方が実行ポイントまでスクロールします。

ソースが利用できないときに逆アセンブリビューを開く

  • コードをデバッグするときは、ステップイン F7 の代わりに強制ステップイン the Force Step into icon Alt+Shift+F7 コマンドを使用してください。ステップインは、ソースコードのない関数ではステップオーバーのように機能します。

    JetBrains Rider がデバッグ中にソースファイルを見つけられない場合、逆アセンブリビューが自動的に開きます。

  • デバッグツールウィンドウで目的のフレームに移動します。

  • デバッグ情報を提供しないアタッチされたプロセスのデバッグセッションを起動すると、逆アセンブリも自動的に開きます。

分解の手順

逆アセンブリビューでは、通常のステップアクションを使用してコードを調査できます。

実行ポイントの設定アクションを使用して、逆アセンブリのコードの任意の行に移動することもできます。

Set execution point in disassembly

    分解のブレークポイント

    ソースコードで行うのと同じ方法で、逆アセンブルでブレークポイントを設定できます。これらのブレークポイントは、アドレスブレークポイントと呼ばれます。

    ブレークポイントを右クリックして、使用可能なオプションを表示します。

    Address breakpoint context menu

    さらにをクリックするか、Ctrl+Shift+F8 を押して、ブレークポイントダイアログのアドレスブレークポイントを編集します。

    Address breakpoints properties

      アドレスにジャンプ

      ジャンプフィールドを使用して、目的のコード行に移動します。このフィールドには、アドレス、またはアドレスに評価できる任意の式を入力できます。

      式にレジスタを含める必要がある場合は、その名前を $GDB 表記(英語))で始めます。

      Refferring to a register in the Go to field of the disassembly view

        構文のハイライトは、AT&T(英語) アセンブリコードで使用できます。デフォルトでは、.s および .asm ファイルはアセンブリコードファイルとして認識されますが、他のタイプを構成することもできます。これを行うには、設定 / 環境設定ダイアログ (Ctrl+Alt+S) で、エディター | ファイルタイプに移動します。認識されるファイルタイプの一覧でアセンブリ言語を選択し、新しい拡張子を一覧に追加します

        アセンブリファイルでの構文のハイライト

        構文のハイライトは、AT&T(英語) アセンブリコードで使用できます。

        デフォルトでは、.s および .asm ファイルはアセンブリコードファイルとして認識されますが、他のタイプを構成できます。

        1. 設定 | エディター | ファイルタイプに移動します。

        2. 認識されるファイルタイプのリストでアセンブリ言語を選択し、リストに新しい拡張子を追加します。

        関連ページ:

        デバッグウィンドウ

        デバッガーセッションを開始すると、デバッグツールウィンドウが表示されます。このウィンドウを使用して、デバッガーセッションを制御し、プログラムデータ(フレーム、スレッド、変数など)を表示して分析し、さまざまなデバッガーアクションを実行します。これは、デバッグツールウィンドウの概要です。ツールウィンドウの使用に関する一般的な手順については、ツールウィンドウを参照してください。ツールウィンドウのタブを切り替えるには、とを押します。セッション:複数のデバッグセッションを同時に実行すると、それらはデ

        中断されたプログラムを調べる

        フレームを分析することで、中断されたアプリケーションの状態を調べることができます。コードがデバッグモードで実行されている場合、それを一時停止するには 2 つの方法があります。検査するコード内のブレークポイントの設定で、いずれかがヒットするまで待機します。でプログラムの実行を中断します。デバッガーは、一時停止した瞬間に実行中のステートメントを終了し、次に実行する必要のあるステートメントで停止します。一時停止状態では、現在の実行ポイント(次に実行されるステートメント)は、エディターの左側のガターにあ...

        プロセスに接続

        JetBrains Rider は、ローカルプロセスとリモートプロセスの両方にデバッガーを接続する方法を提供します。プロセスにアタッチする手順は、プロセスが開始された方法と場所によって異なります。JetBrains Rider デバッガーは任意の .NET または .NETCore プロセスに接続できますが、ある場合はより単純な方法を選択することをお勧めします。同じマシンで実行されている「helloworld」に接続する必要はありません。ローカルプロセスにアタッチする:を押すか、メインメニュー...

        コードをステップスルーする

        中断されたプログラムでは、プログラムの実行を制御できます。プログラムをステップ実行することで、実行ポイントを目的のコードに進め、このポイントでプログラムの状態を調べることができます。コードがデバッグモードで実行されている場合、それを一時停止するには 2 つの方法があります。検査するコード内のブレークポイントの設定で、いずれかがヒットするまで待機します。でプログラムの実行を中断します。デバッガーは、一時停止した瞬間に実行中のステートメントを終了し、次に実行する必要のあるステートメントで停止します。...

        ブレークポイント

        ブレークポイントを使用すると、特定のステートメントでプログラムの実行を一時停止し、変数値、コールスタック、その他のプログラムパラメーターを分析したり、式を評価したり、プログラムをステップ実行したりできます。JetBrains Rider では、次の型のブレークポイントを操作できます。行ブレークポイント、コード内の特定の文に設定できます。実行がこの行に達すると、デバッガーはプログラムの実行を中断します。行ブレークポイントは実行可能な行にのみ設定できます。コメント、宣言、空行は、行ブレークポイントの...

        ファイルタイプの関連付け

        JetBrains Rider は、さまざまな言語やテクノロジを表すファイルの言語固有の機能(構文のハイライトやコード分析など)について、ファイルタイプのリストを保持します。各ファイルタイプは、言語サービスを 1 つ以上のファイル名パターンにリンクします。ファイルタイプのデフォルトリストには、関連するすべてのファイル名パターンが含まれていますが、カスタム言語ファイルに新しいファイルタイプを追加したり、既存のファイルタイプに関連付けられたファイル名パターンを変更したりできます。エディターでファイル...