数学研发论坛

 找回密码
 欢迎注册
查看: 4730|回复: 5

[转载] 使用VC6调试器源码级调试win32汇编程序

[复制链接]
发表于 2008-4-25 11:54:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
 开发高性能的程序少不了用汇编编程,限于C语言中内嵌汇编语言的局限(如在C代码中混合汇编语言编程时,很难实现跳表),一些代码必须书写在独立的汇编源文件中。遗憾的是,在调试时,只能看到裸的汇编码,而不能到懂标号,变量等。 浏览罗云彬的汇编网站时,发现一个介绍《使用VC6调试器源码级调试win32汇编程序》的帖子,特转载之。



使用VC6调试器源码级调试win32汇编程序[原创]
                 作者:maxzhou88(周哥)
本人拙笨,如有错误请批评指正,如有更好的方法或者技巧,欢迎互相zhougeng@tom.com
使用一个好的调试器无疑对学习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…/paths(include files)中添加一个路径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代码的哦.

WIN32 C/ASM 混合编程Demo下载: http://maxzhou88.ys168.com/

有空来下我的空间:http://hi.baidu.com/maxzhou88
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-25 13:53:04 | 显示全部楼层


俺总也下载不下来MASM 6.15汇编编译器
MASM8带的是6.14吧

不支持SSE2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-25 14:00:01 | 显示全部楼层


独立汇编对变量和参数的支持比C嵌入汇编只强不弱
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-25 14:35:27 | 显示全部楼层
ml.exe 6.15 位于Visual C++ 6.0 Processor Pack, 需要下载并安装vcpp5.exe.
刚才查了一下该包中自带的ml.exe,版本号是6.15.8803.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-25 14:36:06 | 显示全部楼层


该死的VC6是中文版
见不得SP5
我吐血
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-6 16:51:05 | 显示全部楼层
求一个无符号整数的10进制位数 中16# 给出一个在汇编语言源文件中使用跳表的实例。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-1-20 08:49 , Processed in 0.047308 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表