gpt4 book ai didi

visual-studio - 在禁用优化的 Debug模式和 Release模式下调试有什么区别?

转载 作者:行者123 更新时间:2023-12-04 04:49:09 26 4
gpt4 key购买 nike

Debug模式和 Release模式下的调试有什么区别?
在 Release模式下,加载的符号表包含较少的符号信息,这意味着较少的调试信息。但是,如果我们在 C/C++->Optimization->Optimization 中设置“ Disabled (/Od) ”,那么我看不出两种调试类型有什么区别。
Debug模式和 Release模式(禁用优化)有什么区别吗?

最佳答案

它没有什么魔力。 Debug 和 Release 只是分配给一组编译器选项的名称。调试配置最相关的选项是/Od 选项,它禁用优化器,以便您的代码更容易调试。

很明显,您可以随时更改 Release 配置选项以类似于 Debug 配置选项。就像禁用优化器一样。现在它们之间不再有任何相关区别,并且 Release 配置的行为很像调试器中的 Debug 配置。

通常在 Debug 配置中使用的会影响您的代码的其他选项:

  • _DEBUG 宏已定义,断言将触发
  • 函数内联被关闭
  • /RTC 选项打开,非常擅长捕捉代码中的错误
  • _HAS_ITERATOR_DEBUGGING 宏已定义,用于捕获使用 STL 类的代码中的错误
  • 您将与 CRT 的调试版本链接,在该版本中启用断言
  • 调试分配器将被启用,假设你#included crtdbg.h
  • 编辑 + 继续支持打开,副作用是更大的堆栈帧
  • 关于visual-studio - 在禁用优化的 Debug模式和 Release模式下调试有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17698258/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com