繁体   English   中英

发布模式下的断点和调试

[英]Breakpoints and debug in release mode

这是我第一次在VS中使用发布模式,我总是使用调试模式,我对如何在发布配置中优化代码印象深刻!

但无论如何我很惊讶我甚至在发布配置中仍然可以使用“本地Windows调试器”,特别是因为它似乎在发布模式下调试并不明显 (在我的情况下我没有改变任何选项)。 所以我的问题是:

  1. 释放模式中的“调试信息格式”设置为/ZI吗? 我注意到,如果我禁用此信息,则不再有断点工作,所以也许我无意中更改了它。

  2. 在发布模式下本地Windows调试器(F5)中的代码执行速度较慢“启动时无需调试”(CTRL + F5)?

1)没有任何调试信息,断点就无法工作,因为无法将特定代码行与二进制文件中的地址相关联。

(实际上,在二进制文件中的特定指令上放置一个断点仍然有效,只将它映射回源代码不会。)

如果将调试信息格式从/ZI/Zi ,将启用进一步的优化,但作为回报,某些调试功能(如实时编辑变量内容)已经变得不可用。 有关更多详细信息,另请参阅https://msdn.microsoft.com/en-us/library/958x11bc.aspx

2)不,只是产生调试器通常对性能没有影响。

除非实际使用断点和跟踪点,否则最多在硬件中处理前4个断点,并且所有后续断点都会产生开销。

跟踪和分析总是会导致开销。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM