【问题标题】:Visual Studio C++ Disable debugging in specific parts of codeVisual Studio C++ 在代码的特定部分禁用调试
【发布时间】:2015-12-16 16:52:19
【问题描述】:

我的项目中有一个操作,在调试模式下大约需要 2 分钟,在发布模式下不到 一秒。 (如果重要的话,它是一个向向量写入大量内容的函数)。

显然,在调试模式下几乎不可能使用我的应用程序,因为这段代码会导致糟糕的性能。

所以我的问题是:是否可以启用性能优化并禁用特定文件或类的调试?如果没有,还有其他方法可以解决这个问题吗?

【问题讨论】:

  • 我的第一反应是在发布模式下启用调试信息,并以这种方式进行调试。您确实会时不时地遇到惊喜,但通常情况下,这很好。
  • 你也可以考虑一个模拟对象(#ifdef DEBUG_)。

标签: debugging c++11 visual-c++ visual-studio-2015 visual-studio-debugging


【解决方案1】:

影响性能的因素有很多:

优化(如您所述)。您可以在 per 上指定优化 使用属性 -> C/C++ -> 优化的文件级别。你也可以 使用#pragma optimize,如下所述: https://msdn.microsoft.com/en-us/library/chh3fb0k.aspx

仅在 DEBUG 配置中执行的附加代码,例如 Checked Iterators;您可以通过 _SECURE_SCL 或 _ITERATOR_DEBUG_LEVEL 控制它们,如下所述:https://msdn.microsoft.com/en-us/library/aa985965.aspx

此外,您可以无条件地提高代码的性能,例如,通过预先在向量中保留所需空间以避免重新分配。

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 2023-03-27
    • 2015-08-04
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多