Carbide.c++ 一直声称是支持在真实设备上调试的,昨天写了个测试程序,模拟器上运行正常,于是就编译了个目标设备版本的可执行体,并打包签名,传到了手机上。安装,没问题,运行,没反应。
于是就想在真机上调试一下。照着网上的资料做了一遍,结果老是连不到 App TRK,无论是 USB 还是 BlueTooth。折腾了很久都无法解决,于是去瓶子的机器上做个测试看,结果一连就好。排出了手机端的问题,才想到了 IDE 的差异,我的虽然也是 Carbide.c++ 2.0,但是中间升了一次级,小版本号是 2.0.2,他的仍然是 2.0.0。
今天在家里的笔记本上折腾,仍然是 2.0.2,仍然连不上。最后一狠心,把 Carbide.c++ 2.0.2 卸载后又重新安装了一遍。测试的时候,又报告“Error: TCFError: Connection type is supported, but there was an error in connecting. OSError: Could not open the device”。以为是当前的端口(COM3)和别人共用着的缘故,特意把手机占用的端口改到了 COM20,可是没有效果。网上有人说这种情况下要重启手机,正计划的重启手机的时候突然想到,会不会和我刚才开着手机上的蓝牙有关?关闭蓝牙,重新打开 App TRK,使用 USB 连上,在 Carbide.c++ 中测试一次成功。
设备:Nokia E66(S60 3rd FP1)
连接:USB
系统:Windows Vista SP1,Carbide.c++ 2.0.0
通过本次的经历,几乎可以肯定 Carbide.c++ 2.0.2 中升级过的真实设备调试组件有问题!
后记:要兴冲冲地编译目标时才发现,Windows Vista 上没有安装 RVCT……