【AllJoyn框架-05】VC11调试ajtcl源代码

一直想对alljoyn相关代码进行源代码级调试,但不知怎么的老是进不了源代码,今天再次尝试,可以了

其实也很简单,用VS将ajtcl-14.02的所有c文件载入,包括src,crypto,malloc,target\win32里面所有的c文件,因为我所有将之编译成统一的静态库。设置好头文件路径后,就可直接编译了。很快就在与sln文件同目录下的Debug下有了静态库ajtcl.lib,大小有1.11MB

接着随便在samples下找个源程序,比如basic_service.c,新建一个项目工程(原来的可以关了),将它加入。当然,设置好头文件路径及静态库路径,就可以编译了。在AJ_Initialize()旁设置断点,点击F5,待调试指针指向那一行时,单步即可进入aj_init.c文件中的AJ_Initialize()函数了。


其实我之后检验了下,就是要保证以下两点:

1、主程序项目的Debug目录下的pdb文件不能删,删了就无法调试;要想进入ajtcl源代码内部,则其项目的Debug下的vc110.pdb不能删

2、库项目的源码路径不能变动


同时c++版的alljoyn也可如此,不过感觉要麻烦些,像ajtcl一样统一生成一个静态库好像不太好,毕竟用scons生成的库就有alljoyn.lib,ajrouter.lib,BundledRouter.obj等,得确知哪个目标需要哪些cc文件。不知scons能否直接帮忙生成sln文件,如果能那就方便多了。

你可能感兴趣的:(C++,VC,alljoyn)