首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助]十万火急,为什么我的程序堆栈大小只有3000H?不是默认是1M吗?
发表于: 2009-6-8 17:45
4846
[求助]十万火急,为什么我的程序堆栈大小只有3000H?不是默认是1M吗?
AASSMM
2009-6-8 17:45
4846
程序是ASM编译的!
ml.exe /Fo"tst.obj" /c /coff /nologo "D:\tst.asm"
link.exe /BASE:0x400000 /OUT:"tst.exe" /SUBSYSTEM:WINDOWS /nologo "tst.obj"
编译参数是正常的,我一直用的。
结果发现堆栈空间只有3000H,我的一些字串处理需要需要大的堆栈空间分配局部变量呢!
WINDOWS下进程不是默认的1M吗?
各位说说是怎么回事?
调试看到堆栈空间为: 0012D000-0012FFFC
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
5
)
Sysnap
雪 币:
581
活跃值:
(149)
能力值:
( LV12,RANK:600 )
在线值:
发帖
32
回帖
389
粉丝
10
关注
私信
Sysnap
14
2
楼
晕..自动扩展的...当不够时WINDOWS会调整大小...当然你编译的时候还可以自己设置大小...但一般不会用到那么大吧..除非你递归或者不合理的局部变量等等...
2009-6-8 19:09
0
AASSMM
雪 币:
272
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
405
粉丝
0
关注
私信
AASSMM
3
楼
局部变量一下子就把ESP抽干了!
没机会自动扩展啊!!
2009-6-8 19:27
0
AASSMM
雪 币:
272
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
405
粉丝
0
关注
私信
AASSMM
4
楼
3000H太小啦!
如果子函数深一些,很容易不够的。
现在的问题是为什么程序的堆栈空间不是默认的1M ?
2009-6-8 19:28
0
书呆彭
雪 币:
2110
活跃值:
(21)
能力值:
(RANK:260 )
在线值:
发帖
30
回帖
1861
粉丝
2
关注
私信
书呆彭
6
5
楼
堆栈空间,分为commited和reserved。
在运行时超过commited但没有超过reserved,系统会自动扩展。
当超过reserved值时,就会发生EXCEPTION_STACK_OVERFLOW异常。
可以通过连接器参数修改默认的堆栈大小,参数格式为:/STACK:reserve[,commit]。
根据MSDN中关于link的文档,默认堆栈为1MB。
2009-6-8 19:55
0
AASSMM
雪 币:
272
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
405
粉丝
0
关注
私信
AASSMM
6
楼
哦,谢谢,知道了,原来是保留状态。
我已经使用动态分配内存解决了,不过不方便,没有静态的局部变量方面。
2009-6-8 20:41
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
AASSMM
15
发帖
405
回帖
10
RANK
关注
私信
他的文章
请管理员千万别关闭旧论坛! 收藏了很多帖子, 用以前的链接都打不开了!
3535
[分享]歪挂工作室的那点破事
4784
[讨论]TrueCrypt 不安全???
11892
[求助]十万火急,为什么我的程序堆栈大小只有3000H?不是默认是1M吗?
4847
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部