0
点赞
收藏
分享

微信扫一扫

C++ Stack overflow 问题记录

场景

程序运行提示报错:

0x00D51599 处有未经处理的异常(在exe 中): 0xC00000FD: Stack overflow (参数: 0x00000000, 0x007A2000)。

指向汇编代码

; Find next lower page and probe
cs20:
        sub     eax, _PAGESIZE_         ; decrease by PAGESIZE
        test    dword ptr [eax],eax     ; probe page.
        jmp     short cs10


原因

定义了一个1M的栈字符数组

std::uint8_t szBuffer[1024 * 1024] = { 0 };

一般情况下,线程的栈能够存放的空间本来就小,一旦越界,程序就会出错,分配这种大的内存块,需要采用new

举报

相关推荐

0 条评论