调试、跟踪与性能分析
1. 调试优化配置
在调试应用程序时,有时降低编译器的优化级别会很有用。虽然这会降低应用程序的性能,但能通过提高调试信息的准确性来方便调试。可以通过在conf/local.conf文件中添加以下代码来配置构建系统,以降低优化并添加额外的调试信息:
DEBUG_BUILD = "1"使用此配置后,优化级别将从FULL_OPTIMIZATION (-O2)降低到DEBUG_OPTIMIZATION (-O -fno-omit-frame-pointer)。但有时这还不够,可能需要完全不进行优化构建。可以通过全局或针对特定配方覆盖DEBUG_OPTIMIZATION变量来实现。
2. 交叉 GDB 调试
当在主机上运行交叉编译的 GDB 并连接到目标设备上运行的本地 gdbserver 时,这称为交叉调试。交叉调试的优点是目标图像上不需要调试信息,因为这些信息已在主机上可用。
2.1 准备工作
- 若要将 gdbserver 包含在目标图像中,可以使用
-sdk图像(如果有的话),或者在conf/local.conf配置文件中添加以下内容来为图像添加tools-debug功能: