调试、追踪与性能分析
在软件开发过程中,调试、追踪和性能分析是非常重要的环节。下面将介绍一些常用的调试和分析工具及方法。
1. 减少编译器优化以方便调试
在调试应用程序时,有时降低编译器的优化级别会很有用。虽然这会降低应用程序的性能,但可以提高调试信息的准确性,便于调试。可以通过在conf/local.conf文件中添加以下代码来配置构建系统,减少优化并添加额外的调试信息:
DEBUG_BUILD = "1"使用此配置后,优化级别将从FULL_OPTIMIZATION (-O2)降低到DEBUG_OPTIMIZATION (-O -fno-omit-frame-pointer)。若仍觉得不够,可全局或针对特定配方覆盖DEBUG_OPTIMIZATION变量,实现无优化构建。
2. 交叉 GDB 调试
当在主机上运行交叉编译的 GDB 并连接到目标设备上运行的本地 gdbserver 时,这被称为交叉调试。交叉调试的优势在于目标镜像无需调试信息,因为这些信息已存在于主机中。
准备工作
- 若有
-sdk镜像,可使用它将 gdbserver 包含在目标镜像中;也可在conf/local.conf配置文件中添加以下内容,为镜像添加tools-debug