堆栈溢出问题 test dword ptr [eax],eax probe page.

来源:互联网 发布:域名公安局备案 编辑:程序博客网 时间:2024/06/06 18:26
今天写了一个程序,运行出现:ALG002.exe 中的 0x010e43a7 处有未经处理的异常: 0xC00000FD: Stack overflow

程序调试出现:test    dword ptr [eax],eax     ; probe page.

经过调试发现是由于栈溢出,因为程序中出现了局部数组变量,局部变量是存储在栈中的,数组过大导致栈溢出,window中默认栈大小为1M。对此有两种方法解决。

一、把数组变小就可以了。

二、在vs2010中,项目——>属性——>链接器——>系统——>堆栈保留大小。可以把1M变成2M。(注意填写的是字节数,假如变成2M,则1024*1024*2=2097152。

0 0