news 2026/5/9 14:25:35

汇编语言全接触-74.用Soft-ICE实现源码级调试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
汇编语言全接触-74.用Soft-ICE实现源码级调试

在 Windows 编程中,Soft-ICE 是一件必不可少的调试工具,但 Windows 程序的编程中有很多的时候是和数据结构和 API 打交道,经过编译以后,原来的 mov stRect.left,eax 之类的代码也就变成了 mov [xxxx],eax,invoke UpdateWindow,hWnd 之类的语句也就变成了 push [xxxx]/call [xxxxx] 之类的语句,如果你不记的源程序了,你就根本无法知道你在向什么数据写或者调用什么 API,在 C++ 编程的时候,我们都可以进行源代码级别的跟踪调试,但在汇编中,这可能吗?

答案是可以的,用 Soft-ICE 就可以实现,本文讨论使用 Masm 的情况下用 Soft-ICE 实现源码调试,具体的实现如下:

首先,在编译的时候要生成带符号信息的 Object 文件,这需要打开 ML 程序的两个选项

ML /coff /Zi ...

/coff 告诉编译器产生符号调试格式的 Object 文件。

/Zi 使 Object 文件中包括符号调试信息。

然后也要设置 Link 文件,因为 Soft-ICE 使用 CodeView 格式的调试信息,所以 Link 也要包括下面的选项

Link /DEBUG /DEBUGTYPE:CV ...

/DEBUG 选项告诉 Link 在 exe 文件中包含调试信息。

/DEBUGTYPE:CV 当然是调试信息要用 CodeView 格式啦。

最后,就是如何使用 Soft-ICE 了,如果要使用符号调试功能,你不能再用 Loader32.exe 程序来装入 exe 文件,而是必须用符号转换程序 nmsym,使用方法是在命令行中打入 nmsym /translate:source,package,always /source:. /load:execute,break 你的exe文件,你可以把它编写成一个 bat 文件如下 nmsym /translate:source,package,always /source:. /load:execute,break %1,假定文件名为 debug.bat ,然后你就可以用 debug xxx.exe 来享受源代码调试的乐趣了。

别的一些必要的设置:你必须把 Soft-ICE 的目录和 Masm 的 bin 目录设置到 path 中,因为这些路径中还有些文件要用到。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 5:58:30

Hunyuan-MT-7B-WEBUI与Dify平台集成可能性分析

Hunyuan-MT-7B-WEBUI与Dify平台集成可能性分析 在当今全球协作日益紧密的背景下,跨语言沟通早已不再是简单的文本转换需求,而是企业出海、科研合作、内容本地化等关键业务流程中的核心环节。尽管机器翻译技术已因大模型的崛起而突飞猛进——从早期的统计…

作者头像 李华
网站建设 2026/5/1 6:52:39

1小时验证创意:用快马打造标注工具原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个视频动作识别标注工具原型,要求:1. 支持视频帧提取和关键帧标注;2. 简单的时间轴界面;3. 预置常见动作标签;4. …

作者头像 李华
网站建设 2026/5/1 11:43:12

用DDNS-GO快速验证物联网设备远程访问方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个物联网设备远程访问的快速原型系统,集成DDNS-GO实现动态解析,包含:1) 模拟物联网设备端程序;2) 动态域名配置界面&#xff…

作者头像 李华
网站建设 2026/5/1 12:48:53

小游戏代码怎么写?新手入门指南与关键框架解析

开发小游戏不仅是学习编程的绝佳实践,也是将创意付诸现实的快捷方式。对于初学者而言,从理解基础代码结构开始,一步步构建一个可玩的游戏,能快速获得成就感并巩固编程逻辑。下面我将分享几个关键环节,帮助你写出自己的…

作者头像 李华
网站建设 2026/5/5 10:18:07

notepad++修改配置文件太麻烦?万物识别镜像支持自动路径检测

notepad修改配置文件太麻烦?万物识别镜像支持自动路径检测 背景与痛点:传统图像识别流程的配置瓶颈 在当前AI工程实践中,图像识别任务已广泛应用于内容审核、智能标注、自动化分类等场景。然而,即便模型能力强大,实际落…

作者头像 李华
网站建设 2026/5/1 7:25:35

dify调用阿里万物识别API:Python接入避坑指南(附代码)

dify调用阿里万物识别API:Python接入避坑指南(附代码) 万物识别-中文-通用领域 在当前多模态AI快速发展的背景下,图像识别技术已从单一物体检测演进为“万物可识”的智能理解能力。阿里云推出的万物识别-中文-通用领域模型&…

作者头像 李华