汇编语言全接触-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 中,因为这些路径中还有些文件要用到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1123564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中文识别新体验:无需等待的云端GPU方案

中文识别新体验:无需等待的云端GPU方案 作为一名研究助理,我最近遇到了一个棘手的问题:需要比较多个开源识别模型在中文场景下的表现,但实验室服务器资源紧张,排队等待严重影响了研究进度。经过一番探索,我…

AI如何通过LFLXLT技术提升开发效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 使用LFLXLT技术开发一个AI辅助编程工具,能够根据用户输入的自然语言描述自动生成Python代码。工具应支持代码补全、错误检测和性能优化,并集成到主流IDE中。…

3X-UI vs 传统开发:效率对比实测报告

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个开发效率对比Demo:1. 传统方式手动实现用户管理页面 2. 使用3X-UI快速生成相同功能 3. 添加性能监测代码统计两种方式的开发时长和代码量 4. 生成可视化对比报…

Hunyuan-MT-7B-WEBUI与TensorRT加速集成可行性研究

Hunyuan-MT-7B-WEBUI与TensorRT加速集成可行性研究 在当今全球化协作日益紧密的背景下,跨语言沟通已不再是简单的文本转换需求,而是深入到教育、政务、医疗和企业出海等关键场景中的基础设施能力。尤其是在少数民族地区服务、国际会议实时翻译或跨国内容…

MCP混合架构部署步骤详解(从规划到上线的完整路径)

第一章:MCP混合架构部署概述 MCP(Multi-Cloud Platform)混合架构是一种将私有云、公有云及边缘计算资源统一编排与管理的技术方案,旨在实现资源弹性伸缩、高可用性与成本优化。该架构通过标准化接口集成异构基础设施,支…

Hunyuan-MT-7B在非洲小语种保护与数字化传承中的使命

Hunyuan-MT-7B在非洲小语种保护与数字化传承中的使命 在全球化浪潮席卷之下,语言的多样性正以前所未有的速度消退。联合国教科文组织数据显示,全球约7000种语言中,超过40%面临灭绝风险,而非洲大陆尤为严峻——大量依赖口耳相传的…

解密多语言支持:让万物识别模型同时理解中英文标签

解密多语言支持:让万物识别模型同时理解中英文标签 在开发国际化APP时,用户经常需要搜索图片内容,但现有多模态模型对混合语言处理效果不佳。本文将介绍如何通过多语言微调技术,让万物识别模型同时理解中英文标签,实现…

零基础理解CORS安全策略:从allowCredentials报错到解决方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式学习项目,通过:1. 可视化演示CORS机制 2. 分步骤配置示例 3. 实时错误反馈 4. 常见问题解答 5. 简单测试题。要求使用基础HTML/JS实现&#…

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

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

MCP云平台自动化测试方案设计(行业顶尖实践案例曝光)

第一章:MCP云平台自动化测试概述在现代云计算环境中,MCP(Multi-Cloud Platform)云平台作为支撑企业级应用部署与管理的核心架构,其稳定性与可靠性至关重要。自动化测试成为保障MCP平台质量的关键手段,通过模…

【稀缺资源】MCP认证必考:Azure容器部署实操精讲(仅限内部资料流出)

第一章:MCP认证与Azure容器部署概览Microsoft Certified Professional(MCP)认证是IT专业人员在微软技术生态中建立权威性的重要里程碑。掌握Azure平台的核心服务,尤其是容器化部署能力,已成为现代云原生开发的关键技能…

LabelImg权限管理:多人协作时的模型调用控制

LabelImg权限管理:多人协作时的模型调用控制 引言:万物识别-中文-通用领域的协作挑战 在现代AI项目开发中,图像标注是构建高质量训练数据集的关键环节。随着“万物识别-中文-通用领域”这类高泛化能力视觉模型的普及,越来越多团队…

Hunyuan-MT-7B-WEBUI支持多用户并发访问吗?实验性支持

Hunyuan-MT-7B-WEBUI 支持多用户并发访问吗?实验性支持的深度解析 在人工智能加速落地的今天,一个高性能大模型是否“好用”,早已不再仅仅取决于它的参数规模或 BLEU 分数。真正决定其价值的是:普通人能不能快速上手?…

揭秘MCP环境下Azure OpenAI模型测试难点:5大实战技巧提升效率

第一章:MCP环境下Azure OpenAI测试的核心挑战在MCP(Microsoft Cloud for Partners)环境中集成和测试Azure OpenAI服务,面临一系列独特的技术与合规性挑战。这些挑战不仅涉及基础设施配置,还涵盖数据治理、访问控制及服…

【专家亲授】MCP MLOps全流程操作手册:覆盖开发、测试、部署与监控

第一章:MCP MLOps 工具概述MCP(Machine Learning Control Plane)MLOps 工具是一套专为机器学习生命周期管理设计的集成化平台,旨在实现模型开发、训练、部署与监控的自动化与标准化。该工具通过统一接口协调数据版本控制、实验追踪…

AI识别故障排除:预置环境中的调试技巧

AI识别故障排除:预置环境中的调试技巧 作为一名技术支持工程师,你是否经常遇到这样的困扰:客户反馈AI识别系统出现问题,但由于环境差异、依赖版本不一致等原因,你很难在本地复现这些问题?本文将介绍如何利用…

2026 最新矩阵剪辑系统搭建教程(附完整可运行源码

矩阵剪辑系统搭建:从 0 到 1 实现多视频批量处理【附完整源码】 在自媒体、短视频运营场景中,批量处理多账号视频(矩阵剪辑)是提升效率的核心需求。本文将手把手教你搭建一套轻量级矩阵剪辑系统,基于 PythonFFmpeg 实…

告别命令行:AI Git客户端如何提升10倍效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个效率优先的Git客户端,重点功能:1. 自然语言转Git命令(如把修改提交到feature分支自动转换为正确命令);2. 高频操…

物流包裹分拣系统:结合万物识别与机械臂控制

物流包裹分拣系统:结合万物识别与机械臂控制 在现代智能物流体系中,自动化分拣系统正逐步取代传统人工操作。其中,基于视觉感知的包裹识别与机械臂协同控制已成为提升分拣效率和准确率的核心技术路径。本文将深入探讨如何利用阿里开源的“万物…

mcjs实时摄像头接入:万物识别流式处理技术实现

mcjs实时摄像头接入:万物识别流式处理技术实现 万物识别-中文-通用领域:从静态图像到实时流的跨越 在人工智能快速发展的今天,视觉理解能力已成为智能系统的核心竞争力之一。传统的图像识别多聚焦于英文语境或特定类别(如人脸、车…