WIN32汇编-Radasm下断点调试

本文介绍了在Radasm中使用调试功能的方法,包括正确引入radbg.inc文件以设置断点,以及如何利用外部调试器如OD进行更高效调试。还提供了一些实用的调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Radasm中有下断点功能,但是一到编译的时候出就错,我特别想知道怎么使用这个功能,后来看了一下Radasm的帮助文档,其中有一段关于调试的介绍,文章中说需要include \RadASM\masm\inc\radbg.inc,但如果直接在.asm方件中粘贴这句话编译是无法通过的,因为找不到这个文件,因为我们建立的win32工程是属于\RadASM\masm32目录的,我们必须指定一个完整的路径,在我的电脑上路径应该是D:\Program Files\RadASM\Masm\Inc\radbg.inc,好了include这句话后下断点编译也不会报错了,好像最多支持10个断点,接着要调试程序的话我们只能直接点击红色叹号的运行按钮(或者按快捷键Ctrl+Shift+F5)。出来的结果并不令人满意,仅仅是显示了各个寄存器的值而已,如下图

 我可不是想要这样的结果哦,看来这个调试器并不是非常友好,因为看不到整个源程序的其它代码,仅仅是显示一个简陋的对话框。

我们不就是想要下个断点吗,干嘛要这么费力不讨好?其实我们直接在源代码中需要中断的地方写句int 3就行了,编译运行后用od来调试(快捷键Ctrl+D启动),程序自然会中断到该处,但如果程序中有多处要下断点的话,这样操作会导致根本不知道中断到哪个地方了。针对此种情况,我们完全可以在代码中写些无意义但又不会影响结果的指令,如

mov eax,eax

mov ebx,ebx

nop

nop

push eax

pop eax

然后通过od的查找功能(快捷键Ctrl+S),输入这些命令来定位到程序的某个地方。不同的断点地方写些不同的指令即可。这比int 3指令起码要好一点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值