【问题描述】

编译时没有错误,但是调试或者运行时程序就报错了!一脸懵逼~~

debug调试提示:

xxx.exe 中的 0x00e731d7 处未处理的异常: 0xC00000FD: Stack overflow

原来是栈溢出了!

【问题为何会出现】

局部变量的申请空间是存放于栈中,windows里默认栈内存是1M,所以当申请空间大于1M时就会出现溢出错误。

【解决方案】

1、扩大栈空间的大小,在vs工程里面:项目->属性->链接器->系统->堆栈保留大小(注:这里填的是字节数)

如果你想把他扩大为2M的话,1024*1024*2 = 2097152

2、局部变量不要申请超过1M的空间。

把这种申请内存的方式

BYTE pBuffer[4096];

改为:

BYTE *lpBuffer = (BYTE*)VirtualAlloc(0, dwFileSize, MEM_COMMIT, PAGE_READWRITE);

最后别忘释放内存:

 VirtualFree(lpBuffer, 0, MEM_RELEASE);

test dword ptr [eax],eax ; probe page. 是怎么回事?相关推荐

  1. test dword ptr [eax],eax ; probe page.

    局部数组变量定义超过所分配的最大空间 ----------------------------------- Posts Tagged 变量 局部数组变量定义所分配的最大空间为多少?如何设置大小 有两 ...

  2. sub eax, _PAGESIZE; decrease by PAGESIZE test dword ptr [eax],eax ; probe page

    ; Find next lower page and probe cs20:sub eax, _PAGESIZE_ ; decrease by PAGESIZEtest dword ptr [eax] ...

  3. 堆栈溢出问题 调试到位置(test dword ptr [eax],eax ; probe page.)

    今天在写一个柜外清程序的时候,碰到一个很怪异的问题,调试程序的位置为:test dword ptr [eax],eax ; probe page.编译时没有错误,但是debug时就会跳出此问题. 经过 ...

  4. mov eax,dword ptr fs:[0] 指令

    FS寄存器指向当前活动线程的TEB结构(线程结构) 偏移 说明 000 指向SEH链指针 004 线程堆栈顶部 008 线程堆栈底部 00C SubSystemTib 010 FiberData 01 ...

  5. C代码+汇编 C的 函数汇编学习分析 rep stos dword ptr [edi]

    如分析有误,请在评论区中,指出 谢谢合作 主要是分析C的函数调用在汇编中的执行流程 本章主要是说一下函数调用时堆栈的变化,重点理解部分 C代码 #include"stdafx.h" ...

  6. stos dword ptr es:[edi]是什么意思

    stos dword ptr es:[edi] stos,串操作指令,该指令把寄存器知EAX中(0)的值存于以指针ES:EDI(ES=023H为段选择子,EDI=12EAB5H为线形地址偏移,经段描述 ...

  7. 汇编当中 dword ptr [ ] 是什么意思

    dword 双字 就是四个字节 ptr pointer缩写 即指针 []里的数据是一个地址值,这个地址指向一个双字型数据 比如mov eax, dword ptr [12345678] 把内存地址12 ...

  8. 汇编语言(王爽 第三版)检测点9.1 解决-a无法输入jmp dword ptr es:[1000h]

    第一个: assume cs:code,ds:data data segmentdb 0h data ends code segment start:mov ax,datamov ds,axmov b ...

  9. xor eax,eax

    xor eax,eax 异或运算,操作数两数相反为1:两数相同为0.由于这两个数相同,异或后等于清0 要比mov eax,0效率高

最新文章

  1. AVL树、splay树(伸展树)和红黑树比较
  2. CF724G Xor-matic Number of the Graph(线性基+组合数)
  3. 浅析面包屑导航对网站SEO优化有哪些作用?
  4. neo4j设置节点或者边的显示,包括颜色、属性、大小
  5. linux 内核rt,实时操作系统kernel rt
  6. Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
  7. linux只允许从ttyS0设备登录,linux自动以root登录,并自动启动用户程序的设置方...
  8. c语言模拟java面向对象_纯c语言实现面向对象分析与示例分享
  9. linux c++ 编译 库,LINUX C/C++ 编译库关系
  10. Kube-OVN:基于OVN的开源Kubernetes网络实践
  11. displayprime java_java - “没有X11 DISPLAY变量” - 这是什么意思?
  12. 上传jar到本地仓库
  13. 不同机器,打印速度相差巨大
  14. 从月薪5千到财富自由:有远见的人都在做这件事情
  15. python划分训练集和测试集_python机器学习:如何划分训练集和测试集
  16. 杭州电子科技大学acm---2008
  17. 《极限竞速地平线4》Teredo不合格解决
  18. 开源移动设备管理(MDM)解决方案的利与弊
  19. 趣点赞打不开显示服务器错误,资讯 – CSGO辅助
  20. 批量全景视频画面提取

热门文章

  1. 2021online普及组【吃豆人】O(4N)
  2. Python PrettyTable 模块(美化库)
  3. 【案例】别人卖1000刀!一套油管自动生产视频赚钱方法详解,FFMPEG高手看来
  4. 画画怎么配色好看?怎样才能画好色彩搭配?
  5. 货拉拉数据治理平台建设实践
  6. uniapp微信小程序实现地图导航
  7. 【历史上的今天】5 月 21 日:Simula 67 发布;微软推出 Xbox One;计算机先驱诞生日
  8. 新手必看--test link使用步骤
  9. Android视频录制,保存图片,视频到本地后本地相册或者视频库里面没有的解决方案
  10. Curent branch is not synced with latest origin/master!