VC6功能增强插件TabBars代码编译和调试说明

首先说明,如果您只是想了解“TabBars”的功能和使用方法,请查看相关的两篇文章:“VC6功能增强插件TabBars介绍”和“VC6功能增强插件TabBars安装、使用说明”。

一 如何获得“TabBars”的源代码

(1)通过http://www.winmsg.com/cn/orbit.htm下载,但是网站是朋友的,不能保证及时更新到最新版
(2)通过本链接下载(http://blog.csdn.net/images/blog_csdn_net/orbit/TabBars.zip)
(3)在本文的评论处留下你的email和简单说明,我会定期查看评论,通过邮件发送“TabBars”源代码
(4)正在想...

二 如何编译“TabBars”的源代码

    “TabBars”的源代码使用Visual C++ 6.0的工作区组织代码,所以编译“TabBars”需要安装VC6.0,需要强调的是,要安装英文版的VC,并安装补丁sp5,因为据朋友反映在汉化版的VC中调试容易出问题,而如果不安装VC的sp5在插件配置窗口不能正常显示“TabBars”的标识,但是不影响编译和调试。
    展开“TabBars”的发布的压缩包,demo_cn目录是已经编译号的“TabBars”插件中文版,demo_en目录是已经编译好的“TabBars”插件英文版,源代码位于source目录中。source目录中有两个工作区文件,一个是“TabBars.dsw”,另一个是“TabBarsE.dsw”,“TabBars.dsw”是为了编译中文版,“TabBarsE.dsw”是为了编译英文版。之所以采用这么拙略的方式组织项目是因为在VC的插件中使用分离的资源常常导致IDE的崩溃。两个工作区使用的是相同的一套代码,只是资源文件不同。
    打开“TabBars.dsw”或“TabBarsE.dsw”中的任何一个,就可以编译“TabBars”插件,如果你的编译器设置没有问题,应该可以正确的编译“TabBars”插件,并在Debug目录中得到TabBars.dll插件文件。

三 如何调试“Tabbar”插件

    VC 插件的调试和普通程序的调试有些不同,因为插件是加载到VC的进程空间的,所以受到VC(MSDEV.EXE)进程的保护,通常加载一次之后就不能对TabBars.dll进行修改,只有关闭MSDEV.EXE才可以修改TabBars.dll。插件调试通常的方法是先卸载“TabBars”插件,具体方法是:

选择“Tool”菜单下的“Customize...”子菜单命令,在弹出的Customize窗口选择“Add-ins and Macro Files”标签,接下来在Add-ins and macro files:列表中去掉“TabBars”插件前面的“X”标记。

必要时可以关闭全部的VC集成开发环境窗口(MSDEV.EXE)。然后启动一个没有加载“TabBars”插件的VC集成开发环境(MSDEV.EXE),打开“TabBars”的源代码,在Project Setting窗口的Debug标签窗口中设置“Executable for debug session:”为VC集成开发环境的启动程序,通常位于:

...VC安装目录.../Common/MSDev98//Bin/MSDEV.EXE

比如:

C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin/MSDEV.EXE

如下图所示:

然后启动调试,VC集成开发环境会打开另一个MSDEV.EXE进程,切换到这个MSDEV.EXE进程,用这个进程加载位于Debug目录中的TabBars.dll插件文件,具体过程是:

选择“Tool”菜单下的“Customize...”子菜单命令,在弹出的Customize窗口选择“Add-ins and Macro Files”标签,接下来点击“Browse...”按钮,在弹出的文件选择窗口中选择刚刚编译生成的TabBars.dll,点击“OK”按钮加载这个调试插件,中间可能会有一个警告,这是应为和前一次加载的同名“TabBars”插件位于不同的目录,不要理会它就可以了。

此时就可以用这个MSDEV.EXE进程随便打开一个VC项目,然后执行的“TabBars”的功能,如果你在前一个MSDEV.EXE进程中设置了断点,此时断点应该有效。

结束这次调试,只要不关闭最初的那个MSDEV.EXE,开始下一次调试就不需要再进行上面的设置了,因为VC已经记在注册表里了。如果关闭了最初的那个MSDEV.EXE进程,那么下次调试时还要把上面的设置再做一遍,因为最初的那个MSDEV.EXE关闭时会更新注册表。

需要注意的是,调试TabBars.dll时需要将TabBars.ini复制到调试版TabBars.dll所在目录。

你可能感兴趣的:(C++,工作,session,ide,email,编译器)