閱讀958 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【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文件,如果能那就方便多了。

最後更新:2017-04-03 05:40:03

  上一篇:go cdh5.1.0 集成ganglia
  下一篇:go Ubuntu重置root 密碼