• 您的位置我爱Aspx >> VC.Net >> 关于VC代码的编写和调试(三)
  • 关于VC代码的编写和调试(三)

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:48:31  关键字:
  • 关于VC代码的编写和调试(三)

    使用Visual C++调试器调试

    一、调试版本与发布版本

    有时程序能在调试版本运行但不能运行于发布版本,反之也有可能。一般说来,一个发布版本意味着某些类型的优化,而一个调试版本则没有优化。下面我们来看看它们的区别:

    1 、特别针对调试版本的编译选项

    (1)/MDd,/MLd或者/MTd

    调试版本的运行时刻库有调试符号,使用了调试堆,调试堆的目的是发现内存破坏和内存泄漏,并且向用户报告源代码的哪个地方出了问题。特性:

    .调试版本的运行时刻库对内存的分配作了跟踪,允许用户检查内存泄漏。

    .在刚分配的内存里写上0xCD的字节模式,用0xCD来填充刚分配的内存,有助于发现数据未被初始化的错误。

    .在被释放的内存写上0xDD的字节模式,有助于发现已被释放的内存。

    .在缓冲区的两边分配了四字节的保护数据,并用0xFD的字节模式作初始化,来检查写内存的上溢出和下溢出。

    .在每个内存分配的地方对源代码文件名和行号作了记录,有助于用户在源代码中对内存分配进行定位。

    (2)/Od

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:CUJ:普及知识:typeint
    下一篇:通过串口收发短消息(上)
  • 相关文章