如何查看源代码中特定行的汇编代码?
我尝试用DMD、-g和-gc (在Windows上)编译我的源代码,并使用objconv输出.obj和.exe的汇编,但似乎没有任何关于行号等的提示。但是当我使用Code::Blocks并设置断点时,它显示了一些如下的汇编
004030CE // C:\...\TEST\main.d:291 matrix.array[3] = 0;
004030CE mov dword [ebp+0xfffffec4], 0x0所以一定有一些关于这些线条的信息…
发布于 2013-02-26 19:48:29
您可能想要使用http://d.godbolt.org/ (仅限gdc)。
发布于 2013-03-26 15:19:23
非常有用和简单的方式是在Visual Studio / Visual D插件中。
只需放置一个断点,在调试模式下启动程序,并从菜单Debug/View显示反汇编。
如果您没有Visual Studio,您可以下载Visual Studio Shell (空IDE),您可以在其中安装VisualD插件。VS Shell 2010或VS Shell 2012

发布于 2013-03-13 03:47:46
这就是如何在现有项目上创建CodeBlocks (v10.05)项目,以便将DMD与Ddbg_gdb调试器一起使用,并在断点处查看assebly:
根据您的喜好创建项目名称
File>New>Project...>D application,则生成的文件应为"Digital Mars D Compiler“& Finish
Settings>Compiler and Debugger...,将"Digital Mars D Compiler"
C:\some\path\srcBaseDir myProject.cbp
executables>Debugger”所需的所有目录设置为
现在,您应该能够设置断点,这些断点将被Ddbg_gdb正确识别,并在Debug>Debugging Windows>Disassembly中使用反汇编视图查看程序集
https://stackoverflow.com/questions/15070559
复制相似问题