Clion:如何定义调试级别?

Clion: How to define debug level?

我的代码中有以下调试语句:

#if (DEBUG_LEVEL > 0)
        printf("ITER %d\n", iter);
#endif

如何在 Clion 调试器中定义调试级别?我需要使用 CMAKE 吗?

  1. 将以下内容添加到您的 CMakeLists.txt

    if (DEBUG_LEVEL)
        add_definitions(-DDEBUG_LEVEL=${DEBUG_LEVEL})
    endif()
    

    它基本上说:"If you have "DEBUG_LEVEL" CMake 变量已定义,将 DEBUG_LEVEL=X 预处理器定义传递给编译器"

  2. 将变量的期望值(例如-DDEBUG_LEVEL=1)传递给CMake(在CLion中可以通过Options | Build, Execution, Deployment | CMake | CMake options完成)。

这样你需要编辑你的 CMakeLists.txt 一次,但你可以在不触及源代码的情况下更改实际值。

我猜你完全可以在不触及 CMakeLists.txt 的情况下修改它,但上面的方法似乎更直接和惯用。