MAME: 如何进行源代码级的IDE调试?
2008-06-10 10:10
281 查看
http://www.cnblogs.com/neoragex2002/articles/740643.html
A.Mingw32环境的MAME源代码级IDE调试
Insight debugger是Redhat的GnuPro开发套件之一,一个基于Tcl/Tk的gdb前端,纯绿色而又短小精悍。它在win32平台下也有对应的Mingw32 build,因此跟mame的编译环境是完全匹配的。insight比较适合熟悉gdb和linux环境的开发者使用。以下是使用insight 6.3来对mame进行源代码级调试的基本步骤:
按照文献[1]的方式配置好Mingw32,将其安装至c:/mingw
将Insight解压至c:/insight
'make clean',删除所有的objs,重置编译环境
'make SYMBOLS=1',编译mame,别忘了符号编译选项'SYMBOLS=1'
启动C:/insight/bin/insight.exe
菜单File->Target Settings->Connection->Target,选择'Exec'
在下面的ExecArguments里面添上mame的命令行启动参数,如ddragon2
File->Open,加载刚刚编译好的mame.exe
Run->Run,启动程序,然后便可以设置断点、单步跟踪了
B.Visual Studio 2005环境下的Mame命令行编译
Visual Studio 2005无疑是Win32平台中最好的编译环境,那么我们可以直接利用它来编译mame吗? 当然可以! 实际上,Mame Team在编写makefile的时候早已考虑到了这一点,他们在windows/windows.mak定义了一个MSVC_BUILD标志,只要我们在make时开启这个标志,即可使用vc2005中的cl.exe、link.exe来替换mingw中的gcc等来进行编译和链接。下面是使用vs2005来编译mame的基本步骤:
确信已经安装好了Visual Studio 2005和DirectX SDK(必不可少)
确信已按照文献[1]的方式正确配置好了Mingw环境(因为我们要用到Mingw的make.exe)
在c:/mame中建立一个批处理文件setupvc.bat,用来建立vc编译所需的环境变量,其内容见后面
运行一次setupvc.bat,设置好所有编译相关的环境变量
然后'make clean',以防止残留下来的gcc objs干扰vc编译
输入'make MSVC_BUILD=1'即可开始编译
如果嫌麻烦,可以直接修改osd层的windows.mak,将1设置成为MSVC_BUILD的默认值
Tips 1: vs2005提供了一个名为'Visual Studio 2005 Command Prompt'的控制台快捷方式,同时自动设置相关的环境变量,参照这一思路,我们也可以创建一个'MAME Command Prompt'的console shortcut,将其属性中的目标设置成'%comspec% /k c:/mame/setupvc.bat',起始位置设成c:/mame即可,这样便不必每次手工输入'setupvc.bat'了,很方便
Tips 2: MSVC_BUILD标志可以配合TARGET、SYMBOLS和PM、I686等标志一起使用
Tips 3: Mame guys写了个非常smart的转换器,用来实现功能等价的gcc编译选项与不同版本的cl选项之间的相互转换,其源码为windows/vconv.c,感兴趣的可以读一下,其配置思想值得借鉴
rem 以下是setupvc.bat的脚本内容
@echo off
rem -------------------------------------------------------------------------------
rem 调用vs2005所提供的环境变量设置脚本
call "C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat" x86
rem -------------------------------------------------------------------------------
rem 将DirectX SDK的include/lib路径添加至环境变量,请根据实际情况加以修改
set INCLUDE=%INCLUDE%;C:/Program Files/Microsoft DirectX SDK (October 2006)/Include
set LIB=%LIB%;C:/Program Files/Microsoft DirectX SDK (October 2006)/Lib/x86
rem -------------------------------------------------------------------------------
C.Visual Studio 2005 IDE环境下的Mame源代码级调试
既然能够用vs2005来编译mame,那么使用华丽而又强大的vs2005 IDE来对其进行源代码级调试便是非常轻松的一件事了,对于绝大多数不太熟悉linux环境的开发人员而言,这可比gdb/insight调试要轻松得多! 紧接着上面的vs2005编译步骤,下面继续给出调试步骤:
运行setupvc.bat,确保vs2005编译环境变量正确建立
'make clean',删除所有objs,重置编译环境
'make MSVC_BUILD=1 SYMBOLS=1',这里的SYMBOLS=1是关键,如果没有设置这个符号编译选项,将无法进行源代码级调试
编译完成之后,打开vs2005 IDE, File->Open->Project/Solution->Files of type选择Executable Files,注意,不是Open->File...,而是Open->Project/Solution...
File->Open->Project/Solution,加载刚刚编译所得的mame.exe
在Solution Explorer中设置一下mame.exe的Properties,在Command Arguments中添加mame的命令行参数,如ddragon2
然后Debug->Step Over,调试启动,看到了吗? 梦寐以求的IDE调试环境! 呵呵
参考文献:
[1] MAME架构、编译及配置浅析, Neoragex2002's Weblog, 2006.6
[2] Building MAME using Microsoft Visual Studio compilers, MameDev.org, 2006
A.Mingw32环境的MAME源代码级IDE调试
Insight debugger是Redhat的GnuPro开发套件之一,一个基于Tcl/Tk的gdb前端,纯绿色而又短小精悍。它在win32平台下也有对应的Mingw32 build,因此跟mame的编译环境是完全匹配的。insight比较适合熟悉gdb和linux环境的开发者使用。以下是使用insight 6.3来对mame进行源代码级调试的基本步骤:
按照文献[1]的方式配置好Mingw32,将其安装至c:/mingw
将Insight解压至c:/insight
'make clean',删除所有的objs,重置编译环境
'make SYMBOLS=1',编译mame,别忘了符号编译选项'SYMBOLS=1'
启动C:/insight/bin/insight.exe
菜单File->Target Settings->Connection->Target,选择'Exec'
在下面的ExecArguments里面添上mame的命令行启动参数,如ddragon2
File->Open,加载刚刚编译好的mame.exe
Run->Run,启动程序,然后便可以设置断点、单步跟踪了
B.Visual Studio 2005环境下的Mame命令行编译
Visual Studio 2005无疑是Win32平台中最好的编译环境,那么我们可以直接利用它来编译mame吗? 当然可以! 实际上,Mame Team在编写makefile的时候早已考虑到了这一点,他们在windows/windows.mak定义了一个MSVC_BUILD标志,只要我们在make时开启这个标志,即可使用vc2005中的cl.exe、link.exe来替换mingw中的gcc等来进行编译和链接。下面是使用vs2005来编译mame的基本步骤:
确信已经安装好了Visual Studio 2005和DirectX SDK(必不可少)
确信已按照文献[1]的方式正确配置好了Mingw环境(因为我们要用到Mingw的make.exe)
在c:/mame中建立一个批处理文件setupvc.bat,用来建立vc编译所需的环境变量,其内容见后面
运行一次setupvc.bat,设置好所有编译相关的环境变量
然后'make clean',以防止残留下来的gcc objs干扰vc编译
输入'make MSVC_BUILD=1'即可开始编译
如果嫌麻烦,可以直接修改osd层的windows.mak,将1设置成为MSVC_BUILD的默认值
Tips 1: vs2005提供了一个名为'Visual Studio 2005 Command Prompt'的控制台快捷方式,同时自动设置相关的环境变量,参照这一思路,我们也可以创建一个'MAME Command Prompt'的console shortcut,将其属性中的目标设置成'%comspec% /k c:/mame/setupvc.bat',起始位置设成c:/mame即可,这样便不必每次手工输入'setupvc.bat'了,很方便
Tips 2: MSVC_BUILD标志可以配合TARGET、SYMBOLS和PM、I686等标志一起使用
Tips 3: Mame guys写了个非常smart的转换器,用来实现功能等价的gcc编译选项与不同版本的cl选项之间的相互转换,其源码为windows/vconv.c,感兴趣的可以读一下,其配置思想值得借鉴
rem 以下是setupvc.bat的脚本内容
@echo off
rem -------------------------------------------------------------------------------
rem 调用vs2005所提供的环境变量设置脚本
call "C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat" x86
rem -------------------------------------------------------------------------------
rem 将DirectX SDK的include/lib路径添加至环境变量,请根据实际情况加以修改
set INCLUDE=%INCLUDE%;C:/Program Files/Microsoft DirectX SDK (October 2006)/Include
set LIB=%LIB%;C:/Program Files/Microsoft DirectX SDK (October 2006)/Lib/x86
rem -------------------------------------------------------------------------------
C.Visual Studio 2005 IDE环境下的Mame源代码级调试
既然能够用vs2005来编译mame,那么使用华丽而又强大的vs2005 IDE来对其进行源代码级调试便是非常轻松的一件事了,对于绝大多数不太熟悉linux环境的开发人员而言,这可比gdb/insight调试要轻松得多! 紧接着上面的vs2005编译步骤,下面继续给出调试步骤:
运行setupvc.bat,确保vs2005编译环境变量正确建立
'make clean',删除所有objs,重置编译环境
'make MSVC_BUILD=1 SYMBOLS=1',这里的SYMBOLS=1是关键,如果没有设置这个符号编译选项,将无法进行源代码级调试
编译完成之后,打开vs2005 IDE, File->Open->Project/Solution->Files of type选择Executable Files,注意,不是Open->File...,而是Open->Project/Solution...
File->Open->Project/Solution,加载刚刚编译所得的mame.exe
在Solution Explorer中设置一下mame.exe的Properties,在Command Arguments中添加mame的命令行参数,如ddragon2
然后Debug->Step Over,调试启动,看到了吗? 梦寐以求的IDE调试环境! 呵呵
参考文献:
[1] MAME架构、编译及配置浅析, Neoragex2002's Weblog, 2006.6
[2] Building MAME using Microsoft Visual Studio compilers, MameDev.org, 2006
相关文章推荐
- MAME: 如何进行源代码级的IDE调试?
- 如何用IDE调试MR任务(二)(2016-01)
- 如何使用firebug进行调试
- 如何将android例子程序添加到Eclipse进行调试运行
- 如何通过网络连接进行ADB调试
- ESP8266-01学习笔记01:如何使用USB转串口对ESP-01进行入门调试、烧录固件?
- 在Win7下Visual Studio如何使用IIS进行调试
- 如何在Release状态下进行调试
- Unity3d导出的webGL文件如何在本地上配置进行调试
- iOS利用CoreLocation获取地理位置以及如何在模拟器进行调试
- 一步步教你如何进行Xilinx SerDes调试
- AndroidStudio(Eclipse)如何使用天天模拟器进行调试apk应用。
- iOS 如何将证书和描述文件给其他人进行真机调试(Provisioning profile "描述文件的名字" doesn't include the currently selected device "你的手机名字".)
- discuz如何用电脑访问手机版进行调试
- 【unity3d游戏开发之疑难杂症】Unity3d工程如何与MonoDevelop工具进行调试
- 面对复杂的管理如何进行自我调试(项目经理修炼手册第一章)
- 低版本XCode如何支持高版本iOS系统进行真机调试
- android eclipse中如何进行真机调试
- ABAP--如何对模式对话屏幕进行调试
- activex控件开发时如何用ie8进行调试