当你在使用Clion对CMake工程进行debug调试时,遇到了设置的断点无法使程序暂停的问题,这可能会令人困扰。以下是一些可能的原因和对应的解决策略:
**程序并未执行到设置的断点:**你可以在Clion的debug控制台中查看程序的输出日志,或者在代码中添加一些调试信息,帮助你确认程序的执行流程是否如你预期的那样。
**编译器优化跳过了断点:**当进行debug调试时,建议关闭所有编译器的优化选项,这样可以保证程序会严格按照你的代码逻辑进行执行。
查看CmakeList.txt中有没有这一行代码
⚠️ 注意:在debug代码时务必关闭该代码行!
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w -O3")
endif()
这段代码的含义是:如果C++编译器是GNU或Clang,那么就将编译器标志设置为当前标志加上 “-w -O3”,即禁止所有警告,并开启所有优化。
**Clion的调试器可能存在bug或者兼容性问题:**这种情况下,你可以尝试更换其他的调试器,比如gdb,看看是否可以解决问题。
**重新安装或者更换IDE:**如果上述方法都无法解决问题,那么你可以尝试卸载并重新安装Clion,或者换用其他的IDE进行debug调试。