从这里:http://google-glog.googlecode.com/svn/trunk/doc/glog.html



“ Debug模式”是什么意思 w.r.t C++ 程序?

当我们在其上使用 GDB 时,我们可以说程序处于 Debug模式吗?

最佳答案

“ Debug模式”有三个方面。

许多库(包括标准库)在 Debug模式下编译时会插入调试帮助代码(数组边界检查、不变断言等)。他们在生产/非 Debug模式下删除这些检查以提高性能。

编译器有调试开关。库用于检测您是否为调试而编译的设置调试宏,并在生成的二进制文件中插入调试符号。这有助于调试器在正在运行的二进制代码和生成它的源代码之间建立链接。

在调试器中运行程序是一种“运行时 Debug模式”。无论是否为调试而构建,您都可以在调试器中运行可执行文件。您将通过调试版本获得更多信息。

所有这三种“ Debug模式”都是独立的。您可以(通常)通过手动设置适当的宏/定义而不要求编译器输出调试符号来编译生产版本中的库调试检查。

这些都不是特定于 C++(或 C)的。许多其他语言都有这些概念。

关于c++ - 什么是 Debug模式 w.r.t C++?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10494969/

10-10 13:11