1

如何查看源代码中特定行的汇编代码?

我尝试使用 DMD 和-gand -gc(在 Windows 上)编译我的源代码并用于objconv输出 and 的程序集.obj.exe但似乎没有关于行号等的任何提示。但是当我使用Code::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插件中。

只需放置一个断点,在调试模式下启动程序,然后从菜单 Debug/View 中显示 Disassembly。

如果您没有 Visual Studio,您可以下载 Visual Studio Shell(空 IDE),您可以在其中安装 VisualD 插件。VS 壳牌 2010VS 壳牌 2012

在此处输入图像描述

于 2013-03-26T07:19:23.393 回答
1

您可能想要使用http://d.godbolt.org/(仅限 gdc)。

于 2013-02-26T11:48:29.177 回答
0

这是您可以在现有项目上创建 CodeBlocks (v10.05) 项目以DMDDdbg_gdb调试器一起使用并在断点处查看组件的方式:

  1. File>New>Project...>D application
  2. 根据需要设置项目名称
  3. 将“创建项目的文件夹”更改为您已经拥有源文件的目录
  4. 将“结果文件名”更改为 (3) 中的目录并添加“项目文件名”。(如果您的项目文件夹是C:\some\path\srcBaseDir并且您的项目文件名是,myProject.cbp那么生成的文件应该是C:\some\srcBaseDir\myProject.cbp
  5. 设置“数字火星 D 编译器”并完成
  6. Settings>Compiler and Debugger...
    • 设置“Digital Mars D Compiler”所需的所有目录
    • 将工具链更改executables>Debugger为“ddbg_gdb”
    • 点击确定
  7. 右键单击您的项目并递归添加文件并添加您需要的所有源文件

现在,您应该能够设置断点,Ddbg_gdb 将正确识别断点,并使用 Disassembly 视图查看程序集Debug>Debugging Windows>Disassembly

于 2013-03-12T19:47:46.017 回答