首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Win32发布模式下,在VC++ 2010中查看精确拆卸的最佳方式是什么?

在Win32发布模式下,在VC++ 2010中查看精确拆卸的最佳方式是什么?
EN

Stack Overflow用户
提问于 2011-02-21 03:56:34
回答 4查看 1.2K关注 0票数 1

我正在编写汇编级优化代码,我需要确保C++编译器能够在发布模式下正确地使用它。

在VS2002中,我曾经能够让Release-Mode程序在断点处中断(并在我单步执行时显示原始的反汇编),但我不记得我是如何工作的。VS2010有没有任何选项可以让这种情况发生?

EN

回答 4

Stack Overflow用户

发布于 2011-02-21 04:28:11

使用/Zi编译并使用/DEBUG链接,您将能够设置断点。

在项目的属性对话框下:

  • /Zi可以在链接器-->常规-->调试信息Format
  • /DEBUG中启用-->调试-->生成调试信息C++
票数 5
EN

Stack Overflow用户

发布于 2011-02-21 04:00:20

如果要使用调试器查看反汇编,可以将__debugbreak()内部调用放在要查看的代码之前。

票数 3
EN

Stack Overflow用户

发布于 2011-02-21 04:28:29

如果你直接编写汇编,你可以直接使用INT 3。当您使用调试器放置断点时,它实际上会将代码更改为该断点(二进制形式为0xCC),以便调试器在执行时将被调用。

你也可以像zr建议的那样调用一个为你做这件事的函数。Windows是DbgBreakPoint()。如果你拆开它,你可以很容易地看到它只不过是INT 3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5059614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档