调试CtkPluginFramework源码
- 前言
在使用ctkPluginFramework时,用到了ctkCore,ctkPluginFramework,ctkEventAdmin等dll和lib,在使用这些库的时候发现,只能看到接口调用,而无法看到ctk内部的实现机制,以及调用流程。在我们使用CMake工具编译好了ctk库后,使用VS2017打开CTK.sln工程后,编译所有工程 ALL_BUILD,发现只是生成了相应的dll和lib,vs工程中只有*.rule文件,并没有看到我们想要的源码。所以在调试我们自己的插件时,无法调试ctk源码。
2. 解决办法
(1)首先编译ctk源码,生成对应的
编译步骤,以及生成的dll、lib和头文件,下载地址
https://blog.csdn.net/aoxuestudy/article/details/108602985 (编译方法)
https://download.csdn.net/download/aoxuestudy/12846809 (ctk实例代码)
(2)打开ctk.sln或者CTKPluginFramework.sln工程
工程路径:E:\ctkFrameworkPlugin\CTK-master_src_build\CTK-build\Libs\PluginFramework
此路径是用CMake编译ctk源码后,CMake生成的路径。
(3)使用vs2017打开CTKPluginFramework.sln
(4)编译所有工程ALL_BUILD,生成CTKPluginFramework.pdb、liborg_commontk_eventadmin.pdb
(5)把生成的pdb文件和dll、lib头文件拷贝到自己的ctk项目中调试源码
在 Visual Studio 中,打开“工具” > “选项” > “调试” > “符号”(或“调试” > “选项” > “符号”) 。
(6)另外一种思路,把我们自己写的工程添加到ctk源码工程中。
(6.1)以管理员身份打开vs2017,否则编译报错
(6.2)手动自己创建ctk工程,生成的插件,以及测试ctk插件用的exe,还有pdb,文件统统拷贝到ctk源码编译的路径:
E:\ctkFrameworkPlugin\CTK-master_src_build\CTK-build\bin\Debug\
(6.3)在工程中打开你自己建立的工程中main文件
funny!