发布运行时错误VS2008-特定问题

||                                                                                                                       
已邀请:
仅仅因为它在调试模式下可以正常运行并不意味着没有问题。更改为释放模式将删除缓冲区填充,打开优化等。因此它不是完全相同的代码。 您是否尝试过插入一些断点以查看其到达的距离并尝试诊断崩溃的地方? 您在叫什么图书馆?您是否传递了任何缓冲区?您是否已正确初始化?     
您使用的库是否可能同时具有调试版本和发行版本?您也许在两个版本中都链接了调试版本?     
假设您收到错误“默认库\'MSVCRTD \'与其他库的使用冲突; \”,如果您的问题可能是由于链接到不同版本的运行时而引起的,我不会感到惊讶。 确保所有exe / libs / dll文件都链接到相同版本的运行时(静态或动态)。     
您说由于缓冲区溢出而导致崩溃,因此请使用gflags之类的工具来诊断此缓冲区溢出发生的位置。 在许多情况下,代码在调试版本中绝对可以正常运行,但在发行版本中会崩溃。最常见的解释是: 由于
#ifdef _DEBUG
节中的代码,执行或类的大小可能会有所不同 在Windows上,未初始化的变量在调试版本中被初始化为零。在发行版本中,它们将是随机的     

要回复问题请先登录注册