关于win32汇编的调试
来源:互联网 发布:网络法律法规对游戏 编辑:程序博客网 时间:2024/05/24 04:32
在VC6环境下的win32汇编的调试,网上找的一篇文章,照着试了试,蛮不错的,特别是习惯VC编程的人来说,这种调试方法使用起来得心应手。
用VC6调试器源码级调试win32汇编程序
使用一个好的调试器无疑对学习win32汇编是至关重要的,本人更偏爱VC的强大调试环境, 不要makefile文件。
编程环境:VC6.0,Masm32v8
方法如下:
1、 使用VC6新建一个空工程如test(win32 console,win32 application等均可)。
2、 把汇编工程中的文件拷至新建工程目录下(hello.asm,hello.rc),并把这些文件加入工程中(将*.asm添加到Source Files, 将*.rc添加到Resource Files)。
3、 配置IDE:
(1)、tools/option,Directories下的Include files,Directories:中添加一个路径d:/MASM32/INCLUDE 这是假设你的Masm32v8安装在d:/MASM32
(2)、打开工程设置(project settings),点击*.asm文件选择(Custom Build),
命令中加上: ml /c /coff /Zi /Fo$(TargetDir)/$(InputName).obj $(InputPath)
输出中加上: $(TargetDir)/$(InputName).obj
注意选Settings for: Win32 Debug 和 Win32 release,将上面的两条都加上。
(3)、将Win32ASM中的ml.exe和ml.err拷贝到C:/Program Files/ Microsoft Visual Studio/VC98/Bin
5、点击VC的编译就可以运行了哦。
至此就可以使用VC调试器源码级调试汇编程序了,可以设置断点,察看变量、内存、寄存器等,masm出现语法错误时可以双击output window中的错误行定位到程序中的指定行。
为了不在debug和release目录中产生超大的预编译头文件xxxx.pch,在工程设置(project settings)中的C/C++ -> Precompiled Headers的选项上选择
"不使用预编译头",其实就现在的电脑而言,不使用预编译头也能快速地编译C代码的哦.
其实我只是告诉大家一个设置VC6.0用于C与MASM32的混合编程的环境设置,具体的debug操作方法,大家要是用过VC6.0来调试C/C++,
就一定会调试ASM32,方法是统一的,
感觉比用makefile好多了,资源编译/编辑器也蛮好用.只是还有个问题我也没有搞懂:VC6.0的资源编译/编辑器不支持16进制的资源ID,
非要用10进制的,我是用两种方法解决的:一是将资源文件*.rc中的ID改成10进制;
二是直接用老罗书中的rc文件,但在VC6.0中不要打开编辑它就可以了.有人能告诉我VC6.0的资源编辑器用16进制ID的方法吗,可能这很简单,我没有去深究罢了.
我说的这种调试方法是VC6.0本身的源代码级调试(source code debug),是可以像调试C源码那样,边改边调,跟踪时你就会看到,debug window一会儿在C源代码中,
一会儿在ASM源代码中,很方便的哦!
- 关于win32汇编的调试
- 关于Win32汇编的环境搭建(Win7)
- WIN32汇编: 5.学习更多的关于文本的知识
- Win32汇编:更多关于“绘制”文本串的知识
- WIN32汇编-Radasm下断点调试
- WIN32汇编: 28.Win32调试API第一部分
- WIN32汇编: 29.Win32调试API第二部分
- WIN32汇编: 30.Win32调试API第三部分
- WIN32汇编的一些基础知识
- 学习WIN32汇编的方法
- WIN32汇编实现的HashTable
- WIN32汇编的高级语法
- Win32汇编 API的调用
- WIN32汇编对话框的使用
- WIN32汇编定时器的使用
- WIN32汇编 状态栏的使用
- WIN32 汇编 工具栏的使用
- Win32汇编教程之一:Win32汇编的环境和基础
- 数码管滚动显示
- vc鼠标消息与键盘消息
- Apache CXF 学习笔记二,创建第一个基于JAX-WS的简单Sample
- VIM 查找文本
- 你好!
- 关于win32汇编的调试
- 法律不是天条
- 指针左右原则
- VB.net C# 代码转换工具-2篇
- 啥是CTO的定义
- asp.net 遇到的ERROR : System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败。
- 国内计算机类学术期刊投稿指南
- 使用AutoHotkey分析日志文件,得到分析报告。
- C#中的ping类