访问内存时出现奇怪的崩溃

Strange crashes when accessing the memory

本文关键字:崩溃 内存 访问      更新时间:2023-10-16

>我在 2 周前得到了这个运行良好的程序,我没有更改它现在崩溃的任何部分。

例如,采用以下代码段:(假设is是有效的istream并且包含<tag>(

std::string Str;
char c;
for ( ; is >> c; )
{
    std::cout << c << std::flush;
    Str += c;
}

输出: <然后崩溃。

我正在使用Windows和mingGW,崩溃是一个窗口,说我的程序有错误,Windows正在尝试修复它......

但这还不是全部,它在Str = c;或启动时崩溃相同:std::string Str ("op");

发现此错误 30 分钟后,我在一行上得到了另一个(在第一个错误之前(:

osstr.write((char *) Word, 16);

其中osstr是有效的字符串流,Word 是填充unsigned char *

编辑:

问题可能不在代码中。因为对字符串构造函数的简单调用会崩溃。

std::string Str ("")作品

std::string Str ("str");崩溃

对,很抱歉信息不完整,但我无法为您提供完整的代码。

问题来自在上面的代码没有崩溃之前很久的缓冲区溢出。