| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4258 人关注过本帖, 5 人收藏
标题:Radasm调试技巧
取消只看楼主 加入收藏
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
结帖率:100%
收藏(5)
 问题点数:0 回复次数:4 
Radasm调试技巧
辛苦总结 转载时请注明出处

一.Radasm内置弹窗调试器用法
此法需要包含自定认头文件 radbg.inc
目录在E:\RadASM\Masm\Inc(根据您的目录来选择)

然后在需要下断点的地方 将鼠标移动过去 点击右键->断点->切换断点(快捷键是alt + F8)
然后运行程序  程序断下来了 效果如下图
图片附件: 游客没有浏览图片的权限,请 登录注册

(图小了看不清楚请 拖放到单独窗口查看)
方法总结:此法有点繁琐   因为要下断点才会断下来  没有断点就跳过去了
一个省力的方法是  把需要下断点的代码全选  然后alt + F8  这样就不用一个个下断点了

二.RadAsm 内置单步调试器的用法
此法需要dbghelp.dll (可从Windbg中取得此宝)
放在Radasm的根目录即可(解释一下:E:\RadASM\)
此法还需要做点预处理
首先:工程->工程选项->选择调试版本
1)编译、链接时加加入如下参数
ML /Zi /COFF
/Zi 增加符号调试信息,生成CodeView需要的调试信息,保存在.PDB文件中
/coff(必用) 产生的 obj文件格式为COFF格式
2)Link /DEBUG /DEBUGTYPE:CV
/DEBUG 在PE文件中加入调试信息
/DEBUGTYPE:CV 加入的调试信息类型,可以是CV或COFF。同时使用两种:both
如下图
图片附件: 游客没有浏览图片的权限,请 登录注册

此时重新构建生成exe
断点下法: 构建->调试->切换断点(快捷键Ctrl + T)
然后:构建->调试->运行(快捷键Shift + F7)将程序运行起来
然后程序断下   
单步步入F7
单步步过Ctrl + F7
返回到光标处Ctrl + Shift + F7
不调试了要:构建->调试->停止(Alt + F)
详细截图如下
图片附件: 游客没有浏览图片的权限,请 登录注册


三.MASM32 SDK 自带的文本调试器的用法
此法需要包含
debug.inc
debug.lib
DBGWIN_DEBUG_ON = 1
表示在程序中包含调试信息,0则程序正常编译为发行版程序,不包含调试信息。
DBGWIN_EXT_INFO = 1
表示在调试的过程中输出扩展信息,其实就是多输出所调试的文件名和调试宏所在的行号

有时候会出现神马神马错误  那个错误忘记叫神马来着了
解决方法是
把masm32拷贝到你工程文件所在的根目录下
(注:比如你的工程文件在G:\Project下面  那么在G盘的根目录下也得存在一份masm32)
不要问我为什么 我真心表示不知道为什么  - -!

好了详细函数的用法就不写了参考此文
http://

还可直接调用调试器打印子程序
    OutputDebugString 打印函数的用法
1)在被调试程序代码中添加如下两个头文件。
include      ;masm32.inc 需要的头文件
includelib   ;masm32.lib 需要的头文件
2)直接在程序中调用 OutputDebugString 函数即可输出指定的字符串到 DbgView 的信息窗口

四.OD中调试
此法 估计地球人都知道了 在罗嗦一遍  - -!
同样在工程选项中设置如下参数
1)编译、链接时加加入如下指令
ML /Zi /COFF
/Zi 增加符号调试信息,生成CodeView需要的调试信息,保存在.PDB文件中
/coff(必用) 产生的 obj文件格式为COFF格式
2)Link /DEBUG /DEBUGTYPE:CV
/DEBUG 在PE文件中加入调试信息
/DEBUGTYPE:CV 加入的调试信息类型,可以是CV或COFF。同时使用两种:both

如果您的Radasm设置的是OD为调试器
那么直接可以Ctrl + D调用OD
进入到OD主界面后  
点查看->源文件   弹出源文件窗口(如下图)
图片附件: 游客没有浏览图片的权限,请 登录注册

双击您要调试的代码
调整好窗体摆放位置按照OD的操作 即可进行源码级调试
(也可直接在源码窗口中下断)如下图
图片附件: 游客没有浏览图片的权限,请 登录注册




4法各有千秋   灵活运用    欢迎楼下   补充内容   ^ _ ^
搜索更多相关主题的帖子: 目录 技巧 快捷键 运行程序 
2012-06-06 14:11
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
收藏
得分:0 
自己顶一下  

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-06 14:12
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
收藏
得分:0 
以下是引用zklhp在2012-6-6 16:03:53的发言:

膜拜大作 膜拜大牛
让zk大大见笑了

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-07 10:04
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
收藏
得分:0 
以下是引用zklhp在2012-6-6 16:03:53的发言:

膜拜大作 膜拜大牛
小弟初涉此道   尚有很多地方不解   还忘zk大大以后多多指点



我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-07 10:07
bingghost
Rank: 2
等 级:论坛游民
帖 子:70
专家分:85
注 册:2012-1-4
收藏
得分:0 
以下是引用zklhp在2012-6-7 12:42:35的发言:


不敢 我也是初学
zk大 谦虚了

我的头像就是我的女神 可惜我的女神已经死了 所以我的心也死了
2012-06-07 16:59
快速回复:Radasm调试技巧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016053 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved