1

ソース コードの特定の行のアセンブリ コードを確認するにはどうすればよいですか?

ソースを DMD および-gand -gc(Windows 上) でコンパイルして、 andobjconvのアセンブリを出力していましたが、行番号などに関するヒントはないようです。組み立てはこのように.obj.exeCode::Blocks

004030CE    // C:\...\TEST\main.d:291   matrix.array[3] = 0;
004030CE    mov dword [ebp+0xfffffec4], 0x0

そのため、どこかに行に関する何らかの情報があるはずです...

4

3 に答える 3

1

非常に便利で簡単な方法は、Visual Studio / Visual Dプラグインにあります。

ブレークポイントを配置し、プログラムをデバッグ モードで開始し、[デバッグ] メニューの [表示] から [逆アセンブリ] を表示するだけです。

Visual Studio がない場合は、VisualD プラグインをインストールできる Visual Studio Shell (空の IDE) をダウンロードできます。VS シェル 2010またはVS シェル 2012

ここに画像の説明を入力

于 2013-03-26T07:19:23.393 に答える
1

http://d.godbolt.org/を使用することもできます(gdc のみ)。

于 2013-02-26T11:48:29.177 に答える
0

これは、既存のプロジェクトに CodeBlocks (v10.05) プロジェクトを作成DMDしてデバッガーで使用し、Ddbg_gdbブレークポイントでアセンブリを表示する方法です。

  1. File>New>Project...>D application
  2. プロジェクト名はお好みで
  3. 「プロジェクトを作成するフォルダー」を、ソースファイルが既にあるディレクトリに変更します
  4. 「結果ファイル名」を(3)のディレクトリに変更し、「プロジェクトファイル名」を追加します。(プロジェクト フォルダがC:\some\path\srcBaseDirで、プロジェクト ファイル名がmyProject.cbpの場合、結果のファイルは になりますC:\some\srcBaseDir\myProject.cbp)
  5. 「Digital Mars D Compiler」を設定して終了
  6. Settings>Compiler and Debugger...
    • 「Digital Mars D Compiler」に必要なすべてのディレクトリを設定します
    • executables>Debuggerツールチェーンを「ddbg_gdb」に変更します
    • [OK] をクリックします
  7. プロジェクトを右クリックしてファイルを再帰的に追加し、必要なすべてのソース ファイルを追加します。

これで、Ddbg_gdb によって正しく認識されるブレークポイントを設定し、[逆アセンブリ] ビューでアセンブリを表示できるようになります。Debug>Debugging Windows>Disassembly

于 2013-03-12T19:47:46.017 に答える