【发布时间】:2013-02-25 15:35:16
【问题描述】:
如何查看源代码中特定行的汇编代码?
我尝试使用 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
所以一定有一些关于某处的线的信息......
【问题讨论】:
-
信息可能是
objconv不理解的调试格式。如果objconv支持 PDB 文件,您可以尝试通过cv2pdb传递可执行文件。您可能还想看看 DigitalMarsdumpobj实用程序。 -
谢谢,我不认为
objconv理解 pdb,即使将 dll 从 VS 复制到 cv2pdb 文件夹或将它们添加到PATH。我想我会在我当前的项目上创建一个 C::B 项目,并使用断点来获取程序集......(当我将 src 文件添加为外部文件时,断点不会被 Ddbg 命中)