TabSiPlus开源代码如何使用

先回答几个问题

1、为什么不出64位版本的TabSiPlus?

       有一些朋友问我,现在很多人都用64位的操作系统了,TabSiPlus什么时候出64位的外挂版本?这里统一回答一下,目前没有出64位外挂的计划,因为没有必要。目前最新的Source Insight仍然只支持32位版本,TabSiPlus也只能在32位这个圈子里和Source Insight玩玩,就算出个64位外挂也用不了,对吧?

2、为什么Tabbar的颜色这么难看?

       这个真是汗颜,操作GDI函数画出每个item的时候,我只是想着能看到现象就行了,重要的是程序中的其他逻辑,最后的结果就是顾不上美观了。我其实有一套自己感觉很舒服的主题,大家也可以自己调调嘛,实在看不顺眼就加入开发人员列表,直接改代码吧。到目前未知,TabSiPlus的库虽然被fork了几次,但是没有人愿意给master分支贡献一行代码,对这种情况,我也是脸上三条线啊。

3、为什么从上个版本就承诺的集成版本控制工具到现在还没有?

       原因是获取文件的完整路径存在问题。毕竟是外挂,没有办法获得新打开窗口对应的文件的完整路径,虽然Hook了CreateFile这个API,根据文件名可以和窗口匹配一下,但是遇到项目中有重名文件的时候就不好使了。版本控制出不得一点差错,入错库是很麻烦的,在很多软件团队中都是有严格规定的,TabSiPlus也不想给自己惹麻烦,所以就不支持了。

怎么编译TabSiPlus

       这是个问题,我一直以为直接看代码就能知道是怎么回事儿了,再加上本博客有一系列文章介绍了给Source Insight做外挂的完整过程,编译和使用代码应该就不是个事儿啊。但是,还是很多朋友反馈说不知道怎么编译和调试,有人甚至黑我是假开源,真是无语啊。这里我把编译和调试的方法详细说一下,希望黑我的那哥们看到后能自己拍几下脸意思一下。
       要编译TabSiPlus,请安装Visual Studio 2008或更高的Visual Studio版本,直接打开TabSi.sln项目。有人说,你不是有TabSi.dsw嘛,为什么说不支持VC 6.0?看看这个文件的时间啊,这个文件都好几年没修改过了,留着应该是为了纪念VC 6.0这个版本吧。其实也不全是,如果你还在用低版本的Visual Studio,可以打开这个TabSi.dsw转换一下,这才是使用TabSi.dsw的正确姿势。还在使用Visual Studio 98的同学,请你看看日历。通过TabSi.dsw转换打开TabSi项目也还是有问题,因为这个文件太老了,你需要根据TabSi.sln中的文件列表,调整源代码文件,否则是无法编译的,很多同学说编译错误,其实就是这个原因。用正确的Visual Studio版本打开TabSi.sln项目,编译应该是没有问题的。
       对于使用Visual Studio 2012或Visual Studio 2015的同学,需要注意一下,可能这些版本的开发工具已经不支持非unicode版本的MFC库了,这就意味着TabSiPlus.dll必须编译成unicode版本,而Source Insight据我观察目前仍然是非unicode的,是否能匹配使用是个问题,有这么用的同学请反馈一下结果,多谢哈。

怎么调试TabSiPlusTab

       TabSiPlus的三个组件是可以独立编译的,TabSiHost.exe是常驻内存的组件,负责找到Source Insight并加载TabSiPlus.dll。因为TabSiHost.exe要向Source Insight注入代码,注入的代码必须是没有调试信息的,也就是说,TabSiHost.exe必须编译成Release版本使用。如果你要调试TabSiPlus.dll,需要将Release目录中的TabSiHost.exe复制到Debug目录,然后在Debug目录运行TabSiHost.exe,TabSiHost.exe会自动加载在同一目录中的TabSiPlus.dll。很多朋友调试失败,估计就是因为用了Debug版本的TabSiHost.exe导致代码注入失败。
       调试TabSiPlus.dll需要设置TabSiPlus项目的调试属性,如图1所示,将command设置为source insignt的路径,然后就可以调试了。整个流程是这样跑的,启动调试,Visual Studio的调试器首先启动Source Insight,驻留内存的TabSiHost.exe检测到source insignt后,向其注入代码,将TabSiPlus.dll加载到source insignt进程中,此时TabSiPlus.dll中的代码就被激活,设置的断点也会生效。
这里写图片描述
图1 设置项目属性

猜你喜欢

转载自blog.csdn.net/orbit/article/details/51212966