我可以非常轻松地在Visual Studio 2012的反汇编窗口中看到C ++项目(32位)的asm。但是,我想看到编译器内联函数的相同代码,因此我想在Release模式中设置一个断点。但是,当我在发布模式下更改设置,以便在运行代码时调试信息格式为“编辑并继续编程数据库”时,它不会中断。
(我确实输出了asm文件,但代码看起来并不像我期望的那样。反汇编窗口似乎提供了更好的视图。)
这是我运行的代码:
int my_func(int m, int n){
int r= 0;
r= m*n;
return r;
}
int main(){
int u = my_func(1,3);
std::cout << u << std::endl; //I put a breakpoint here but it doesnt work
return 1;
}
所以,我想在上面的代码中加一个断点,以便在编译器内联my_func()
之后看到asm产生。
更新:我也试过这个Q的答案,但它没有用:
What's the best way to view accurate disassembly in VC++ 2010 while in Win32 Release mode?
为您的发布版本构建符号(/ Zi)[编辑:并链接 / DEBUG],你将能够设置断点。
UPDATE2:“可调试程序集”链接器标志似乎也没什么区别。