断点调试SITL
近期,使用vscode对PX4 SITL ekf2模块进行断点调试过程中发现,变量中均为“optimized out”,难以直观观察。
修改项目中CMakeList.txt
将其中的RelWithDebInfo改为Debug,但是更新Cmake后,输出仍然为RelWithDebInfo模式。未达到预期效果。
if(NOT CMAKE_BUILD_TYPE)
if(${PX4_PLATFORM} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
endif()
set(CMAKE_BUILD_TYPE ${PX4_BUILD_TYPE} CACHE STRING "Build type" FORCE)
endif()
查询所有访问CMAKE_BUILD_TYPE处
子模块中多处定义CMAKE_BUILD_TYPE为RelWithDebInfo。
variable_watch(CMAKE_BUILD_TYPE)
子模块ekf2中配置修改
COMPILE_FLAGS
#${MAX_CUSTOM_OPT_LEVEL}
#-fno-associative-math
-DDEBUG_BUILD
-O0
INCLUDES
调试观察