打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用VC6调试器源码级调试win32汇编程序
使用VC6调试器源码级调试win32汇编程序
  
   作者:溟初
   本人拙笨,如有错误请批评指正,如有更好的方法或者技巧,欢迎互相交流。hejiwen2001@sohu.com.。
  
使用一个好的调试器无疑对学习win32汇编是至关重要的,本人更偏爱VC的强大调试环境,能否用VC调试器调试哪,于是从网上搜搜,找到一篇Spring.W的文章《贴个用VC++在源码级下调试MASM32汇编程序的方法。。。大家交流。。》,此文就是在此基础上的扩充。
  编程环境:VC6.0,Masm32v8
  方法如下:
  1、 使用VC6新建一个空工程test(win32 console,win32 application等均可)。
  2、 把汇编工程中的文件拷至新建工程目录下(hello.asm,makefile),并把这些文件加入工程中管理。
  3、 配置IDE:
(1)、tools/customize…/tools中添加一个工具nmake。在menucontens中添加一项nmake,Command中填入:nmake.exe,Initial Directory中填入:$(WkspDir),选中use outputwindow。这样就在tools菜单下出现了一个新的菜单项nmake。可以把这个菜单项添加到工具栏中。
  (2)、tools/option…/editor在save option中选中save befor running tools。
  4、 制作makefile文件:
  EXE = test.exe #指定输出文件
  OBJS = hello.obj #需要的目标文件
  LINK_FLAG = /subsystem:windows /DEBUG /OUT:debug\test.exe #连接选项
  #注: (1)/DEBUG必须存在 。
  # (2)/OUT:debug\test.exe输出可执行文件名要与VC建立的工程名一致。
  # (3)/subsystem:windows:如果是控制台程序,这里需要改为/subsystem:console
  ML_FLAG = /c /coff /Zi #编译选项
  #注: /Zi必须存在
  $(EXE): $(OBJS)
   Link $(LINK_FLAG) $(OBJS)
  .asm.obj:
   ml $(ML_FLAG) $<
  5、点击菜单项tools/nmake,调用masm32中的ml,link进行编译连接程序。
  至此就可以使用VC调试器源码级调试汇编程序了,可以设置断点,察看变量、内存、寄存器等,nmake出现语法错误时可以双击output window中的错误行定位到程序中的指定行,改代码时别忘了要用nmake编译。
  注:变量最好不要以@开头定义,比如@num,这样的变量名无法再vc下察看。
  参考:
http://www.pediy.com/bbshtml/bbs5/pediy50355.htm 作者:Spring.W
http://bbs.pediy.com/showthread.php?s=16dcabc8aa048f28da0e3d5b68712147&threadid=12067 作者:Spring.W
http://www.aogosoft.com/bbs/mixpage.asp?mode=viewoktext&fileid=123 作者:crige
http://asm.yeah.net 《Windows环境下32位汇编语言程序设计》pdf及代码 作者:罗云彬
  附件:代码及配置图片(下载http://bbs.pediy.com/showthread.php?s=&threadid=14196)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VS2010使用openssl的静态库libeay32.lib和ssleay32.lib
Windows平台下Makefile学习笔记(一)
nmake命令(windows下的makefile)
【转】微机原理8086/8088汇编语言上机基本操作指导
windows环境下VS2013编译openSSL
编译PHP的windows版本
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服