场景
程序运行提示报错:
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