经过各种查询和测试,Eclipse CDT C++配置MSVC,可以进行编译,但是无法用CDB进行debug调试。点击debug按钮后,无法进行单步调试,打了断点也没法停止程序,程序像点击run一样直接运行到底。
同样问题在CodeBlocks上也一样。
查询了各种原因,最大的可能性是这两个IDE没有设置链接Debug symbols,就是msvc产生的pdb文件无法读取。Symbols是什么内容,就是另外一个话题了。
如果硬要试用这两个IDE进行debug,只能使用WinDbg,你没看错,这是windwos平台下最专业debugger,
所以Eclipse CDT和Codeblocks都是只能在windows平台上用MinGw编译器,或者在Linux上用GCC编译器。
目前看下来,只有VS和QT可以在windows平台上用CDB debug(实际上,VS用的是VSJitDebug),其他可能都不行。Clion和VSCode没试过,不确定行不行。
在linux平台,Eclipse写JAVA可以,写C++没有什么特别的竞争力(自动提示功能设置体验效果差)。而CodeBlocks是配套wxWidgets库,一个GUI库,学习成本又多了一点,而且并没有比QT(6GB大小)轻便多少(600MGCC+CodeBlocksIDE+3GBwxWidgets),唯一的好处是wx的原生C++效率比较高点。但是根据QT官网给出的解释,在简单的编程逻辑下,MOC产生的开销比你类的构造函数开销还小。
所以真有必要为了这点开销变化,去学两套跨平台的库么?特别是个人编程,非商业用途的情况下。