社区
其它技术问题
帖子详情
如何查找非预期的栈写操作?
liixixi
2011-11-01 09:26:21
我面对的是一个超过1000万行代码的可分布式部署的基于Windows工程。在某个20台电脑联机测试的环境中,我们发现了不定机器,不定时的crash。
通过分析dump file发现,当前EIP地址比可能的地址少一,导致执行了非预期的X86指令,导致崩溃。
EIP被减一,我猜是某个特定的代码,对于栈上的地址计算错误,把某函数的返回地址减一,导致该函数ret时,EIP比实际少一。
我的问题是,能否通过某种手段,查找到把EIP减一的代码。
非常感谢。
...全文
106
2
打赏
收藏
如何查找非预期的栈写操作?
我面对的是一个超过1000万行代码的可分布式部署的基于Windows工程。在某个20台电脑联机测试的环境中,我们发现了不定机器,不定时的crash。 通过分析dump file发现,当前EIP地址比可能的地址少一,导致执行了非预期的X86指令,导致崩溃。 EIP被减一,我猜是某个特定的代码,对于栈上的地址计算错误,把某函数的返回地址减一,导致该函数ret时,EIP比实际少一。 我的问题是,能否通过某种手段,查找到把EIP减一的代码。 非常感谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liixixi
2011-11-01
打赏
举报
回复
被修改的返回地址并不是有规律的,我并不知道那个函数会被修改,无法设定内存访问断点。
有办法判断当前CPU执行了CALL吗,如果有,我可以考虑给所有返回地址设内存访问断点。
luciferisnotsatan
2011-11-01
打赏
举报
回复
调试器可以设置内存访问断点。
数据结构
栈
和队列
特殊矩阵的压缩存储可以大幅减少存储空间的占用,提高存储效率,并在某些情况下加速矩阵的运算和
操作
。需要注意的是,多维数组的存储方式可能会影响程序的性能,特别是对于大型多维数组和对数组访问频繁的场景。总之...
【后端开发】互联网后台开发,通用必备技术
栈
(设计与工具)
3.5
操作
系统与应用部署 1、功能设计 1.1 系统设计 1.2 数据设计 2、
非
功能设计 2.1 稳定性设计 2.2 可测试性设计 2.3 应用安全、异常处理、扩展性、兼容性 3、开发技术
栈
与工具 3.1 编程语言与框架
Android Activity
栈
管理深入解析与实践
简介:在Android开发中,Activity作为用户界面的基本单元,其管理...同时,文章会探讨Activity生命周期在
栈
操作
中扮演的角色,并通过模拟项目来加深对Activity
栈
行为的理解,从而优化应用程序的用户体验。 ...
面向
栈
的编程
面向堆
栈
的语言提供的简单模型允许简单地解释表达式和程序,并且理论上可以更快地进行评估...此外,某些面向
栈
的语言以postfix或Reverse Polish表示法
操作
,即命令的任何参数或参数都在该命令之前声明。例如,将使用...
Golang GC探秘:
写
屏障是什么?
由于Golang的GC机制一直在持续迭代,本文叙述的主要是Go1.9版本及以后的GC机制,该版本中Golang引入了 混合
写
屏障大幅度地优化了STW的时间。具体GC机制的版本迭代可以参考 :GC的过去、现在和未来 基本概念 GC的...
其它技术问题
3,882
社区成员
9,045
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章