我想在 LLVM 的源代码中调试单个文件。因为使用调试信息构建整个项目会浪费大量空间。LLVM 使用 CMake 作为其构建系统。如何将调试信息添加到单个文件?
问问题
108 次
1 回答
1
这是“在单个文件上设置调试信息标志”的跨平台版本:
cmake_minimum_required(VERSION 2.8)
project(DebugInfoForSingleFile)
separate_arguments(_flags_release UNIX_COMMAND "${CMAKE_CXX_FLAGS_RELEASE}")
separate_arguments(_flags_with_dbg_info UNIX_COMMAND "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
list(REMOVE_ITEM _flags_with_dbg_info ${_flags_release})
string(REPLACE ";" " " _flags_with_dbg_info "${_flags_with_dbg_info}")
file(WRITE main.cpp "int main() { return 0; }")
add_executable(${PROJECT_NAME} main.cpp)
set_source_files_properties(main.cpp PROPERTIES COMPILE_FLAGS "${_flags_with_dbg_info}")
请注意,CMake 通常还会降低优化级别以及激活调试信息。
参考
于 2017-02-25T20:57:56.220 回答