首页
社区
课程
招聘
[求助]奇怪的浮点栈异常错误,不知是什么原因
2014-5-20 13:54 3222

[求助]奇怪的浮点栈异常错误,不知是什么原因

2014-5-20 13:54
3222
有一个多线程的Windows程序,偶尔崩溃。drwtsn32.log中记录一个语句FAULT,从汇编来看,就是简单的整数加载进浮点栈然后比较,从汇编指令的功能方面看不出有什么问题,请教各位牛人。
代码如下:

其中,byte_4DBA2C的值为0x4B即75,根据drwtsn32.log中记录,其他有类似浮点操作的函数还有很多但没有出问题,就此处多次出现问题导致程序死掉。

刚开始推测为浮点栈满,fild时出错,后来考虑这句语句之前还有一些浮点操作代码,倘若这句出问题时浮点栈满,则上一句浮点操作时栈也是满的。所以这个猜测可能不对。
其他原因确实想不到,看看大牛们有啥好的建议。
另外,浮点语句的就是加载整数,然后比较,里面并没有被零除,无穷大啥的内容。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 1163
活跃值: (317)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
weish 1 2014-5-21 10:57
2
0
顶上去,还是没能解决。忘记说了故障代码。
故障代码为C0000090,即STATUS_FLOAT_INVALID_OPERATION,非法的浮点操作。
如果是浮点栈满导致,错误代码应该是C0000092,所以这个猜测是不对的。其他方面实在看不出有什么可疑引起90错误
游客
登录 | 注册 方可回帖
返回