我们在Linux中单步调试代码一般使用GDB,但是如果你不习惯使用GDB,想以一种更直观的方式调试代码,你可以把你用cmake编译的c/c++工程移植到QT中进行调试。以下是具体操作的步骤:
1、首先,你需要在Linux中按照QT,博主安装的版本如下图所示,大家也可以安装一个版本高一些的QT。
图1 我的QT版本
2、打开QT,CentOS中是这样打开的:选择左上角的应用程序→编程→Qt Creator,双击Qt Creator打开,如图2所示,博主之所以把简单的打开QT操作写这么详细,是因为自己第一次在CentOS中打开QT时,找了很久才找到在哪里打开它,觉得有必要把图贴出来,打开后的QT如图3所示:
图2 打开QT步骤
图3 QT打开后的界面
3、鼠标左击选中c/c++工程中的CMakeLists.txt文件,并按住鼠标左键不放,将CMakeLists.txt文件直接拖入图3中QT界面的任意位置,此时会QT会提示你配置工程,如图4所示,博主勾选了第一个kit,然后点击“Configure Project”。
图4 配置工程
4、点击左边栏的“Projects”,在"Build & Run"下面,选中所配置kit的“Build”,会出现如下所示界面,如果直接使用这个配置来调试代码,编译时会出现如图6所示的Warning:This does not seem to be a "Debug" build. Setting breakpoints by file name and line number may fail. 此时,将无法打断点进行单步调试。
图5 初始工程配置参数
图6 编译出现的Warning
5、为了解决上面的问题,我们需要重新配置参数。在右边“Build Settings”下面的“Edit build configuration”处选择“Debug”,将“CMake”下面的“CMAKE_BUILD_TYPE”的Value值设置为“Debug”:双击空白Value处,输入“Debug”,按Enter键确认输入,最后点击“Apply Configuration Changes”应用设置的参数。
图7 参数设置详细步骤
完成以上步骤,就可以在QT中正常编译、调试代码了。
注:如果原先的工程文件中存在CMakeCache.txt,最好在上面的所有步骤之前将其删除,重新编译工程后会生成新的CMakeCache.txt。