首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
3
0
程序运行突然弹异常的快速解决办法
发表于: 2013-5-16 14:45
5017
程序运行突然弹异常的快速解决办法
fosom
8
2013-5-16 14:45
5017
本方法适合汇编不熟悉,OD很少用的写3环应用软件的程序员,高手飘过。
昨天一朋友问我“程序异常了,怎么能快速锁定到哪行代码?”于是,写了个方法给他。
程序运行一段时间之后,莫名其妙突然弹一个对话框提示:XXXXXX内存地址无法访问,或者是异常。点 “确定”关闭。如图:
尤其是产品发布之后,出现了这样的问题,不懂OD的人,会很纠结,需要一行一行的仔细检查自己的Code。
异常了,怎么办?怎么快速解决?怎么快速找到根源?
一个快捷的方法,几分钟之内找到引发这个问题的代码。
• 第一步:
OD附加
+ 下断点:
bp MessageBoxA
bp MessageBoxW
bp MessageBoxExA
bp MessageBoxExW
第二步,OD断在
第三步,F8单步到下面位置:就是Messagebox运行的上层Call。
Ctrl+C复制出,右下角那行:001264E0 00413080 mfcDebug.00413080
记住这个数字“ 00413080 ”然后,关闭OD。
不管什么异常,这个返回地址在堆栈中的位置是固定的。
第四部:
用VC打开自己的工程,在WinMain下断点,或者其他可以启动就断下来的地方也可。
断下来之后,打开反汇编窗口,输入地址 0x413080
最后一步:
右键“转到源代码”
这样就找到了Code哪里出了问题。
OK
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
上传的附件:
1.jpg
(17.16kb,2次下载)
2.jpg
(29.23kb,3次下载)
3.jpg
(131.22kb,1次下载)
4.jpg
(15.86kb,1次下载)
5.jpg
(8.85kb,1次下载)
6.jpg
(15.17kb,1次下载)
收藏
・
3
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
7
)
longloo
雪 币:
4984
活跃值:
(3371)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
96
粉丝
1
关注
私信
longloo
2
楼
vs 可以直接附加,然后点中断,就会自动断在出问题的代码上,然后在堆栈里找找,很快就可以找到了,不用搂着这么麻烦的
2013-5-16 14:51
0
lovesjsjsj
雪 币:
112
活跃值:
(56)
能力值:
( LV7,RANK:100 )
在线值:
发帖
5
回帖
76
粉丝
0
关注
私信
lovesjsjsj
2
3
楼
很感谢楼住的方法,表示思想上支持!
2013-5-16 20:18
0
专业路过
雪 币:
538
活跃值:
(274)
能力值:
( LV4,RANK:50 )
在线值:
发帖
9
回帖
116
粉丝
1
关注
私信
专业路过
1
4
楼
楼主这种办法对于OD不熟悉的人来说依然很难呀...
这里推荐一种方便简单的方法,直接在你的程序里面加上一个错误报告程序,在你程序崩溃的时候自动生成dump文件,然后直接用VS或者WINDBG就可以看到代码出错位置,
当然 前提是编译的时候生成pdb文件(好像VC6以上都是默认生成的)
至于错误报告程序网上有非常多的开源项目比如下面这个
https://code.google.com/p/crashrpt/
2013-5-16 21:06
0
einsnabuck
雪 币:
18
活跃值:
(25)
能力值:
( LV3,RANK:20 )
在线值:
发帖
1
回帖
8
粉丝
0
关注
私信
einsnabuck
5
楼
看了这个,我推荐一下自己的博客,专门解决这一类的问题.windows,linux都有.
blog.csdn.net/xuzhina
2013-5-16 23:06
0
fosom
雪 币:
1839
活跃值:
(295)
能力值:
( LV9,RANK:370 )
在线值:
发帖
30
回帖
422
粉丝
25
关注
私信
fosom
8
6
楼
长见识了,哈哈。感谢楼上几位。
我只能说我很土。
2013-5-17 09:13
0
whnet
雪 币:
185
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
22
回帖
1029
粉丝
0
关注
私信
whnet
7
楼
楼主这个确实是实用价值有限。。。
在多线程程序中。 经常报错的地方并不是出问题的地方。 所以还是检查code吧。。。
2013-5-17 09:46
0
chengqiyan
雪 币:
261
活跃值:
(547)
能力值:
( LV4,RANK:50 )
在线值:
发帖
21
回帖
163
粉丝
15
关注
私信
chengqiyan
8
楼
我喜欢直接放个DBGHELP.DLL
2013-5-24 00:29
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
fosom
8
30
发帖
422
回帖
370
RANK
关注
私信
他的文章
[原创]破解华夏银行全屏幕遮挡
5186
[原创]破解Telegram
20270
[讨论]大家有没有这样的感受???
4063
[求助]现在arm系统,有加壳软件吗?针对android的app加壳?
9344
[求助]每天都有个提醒1,每次都想点,但是消不掉,种么办?
3214
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
zbig
谁下载
×
鹿剑
zxszxs
谁下载
×
谁下载
×
谁下载
×
谁下载
×
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部