news 2026/6/15 10:25:14

汇编语言全接触-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/6/9 18:48:30

构建高可靠AI系统(MCP+MLOps最佳实践路径曝光)

第一章:构建高可靠AI系统的时代背景与挑战人工智能技术正以前所未有的速度渗透至医疗、金融、交通和制造等关键领域,推动社会智能化转型。然而,随着AI系统在高风险场景中的广泛应用,其可靠性问题日益凸显。一个微小的模型偏差或系…

作者头像 李华
网站建设 2026/5/14 6:50:08

博物馆导览机器人:视觉识别展品讲解历史

博物馆导览机器人:视觉识别展品讲解历史 引言:让文物“开口说话”的智能导览时代 在传统博物馆中,游客往往依赖文字说明牌或人工讲解员来了解展品背后的历史故事。然而,随着人工智能技术的发展,智能导览机器人正逐步改…

作者头像 李华
网站建设 2026/6/12 21:05:12

Hunyuan-MT-7B-WEBUI LaTeX公式翻译挑战与应对

Hunyuan-MT-7B-WEBUI:当大模型翻译遇上“开箱即用”的工程智慧 在多语言内容爆炸式增长的今天,一个藏语教师想把教材译成汉语,一位跨境电商运营需要批量处理小语种商品描述,或者一名NLP研究员正对比不同模型在低资源语言上的表现—…

作者头像 李华
网站建设 2026/6/9 1:17:12

1小时打造22H2概念验证原型:AI加速创新

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速开发一个概念验证原型,展示Windows 11 22H2可能的未来功能扩展:智能多窗口布局系统。要求:1) 拖拽窗口到屏幕边缘时显示智能布局建议 2) 支…

作者头像 李华
网站建设 2026/6/13 14:16:05

万物识别+OCR联合作战:证件信息自动提取全攻略

万物识别OCR联合作战:证件信息自动提取全攻略 银行外包处理中心每天需要人工核对数千张证件照片,效率低下且容易出错。本文将介绍如何利用万物识别OCR联合作战技术,实现证件信息的自动提取,特别适合需要处理大量证件且对数据隐私有…

作者头像 李华
网站建设 2026/5/31 19:36:53

dify可视化编排调用万物识别:构建AI应用的高效方式

dify可视化编排调用万物识别:构建AI应用的高效方式 万物识别-中文-通用领域:开启多场景图像理解新范式 在当前AI应用快速落地的背景下,图像识别技术正从单一分类任务向“万物皆可识别”的通用理解能力演进。其中,“万物识别-中文-…

作者头像 李华