1 Yocto 项目性能分析与跟踪手册
1 简介
Yocto 项目集成了多种跟踪与性能分析工具。本手册介绍它们的基本用法, 并通过示例说明如何分析应用程序与系统的行为。
这些工具大多用途广泛,并且各自有较为完善、详尽的文档, 可以帮助解决在 Linux 中遇到的各种问题。 介绍具体工具的各节都附有该工具的文档和网站链接。
本手册介绍一组常用且普遍有用的跟踪与性能分析方法, 并说明如何在各工具中适当地应用这些方法。 这些方法以通用的逐层深入分析思路为基础,可用于解决大量不同问题。 更高级的用法和疑难问题,请参阅对应工具的文档或网站。
本手册最后一章汇集实际案例。随着我们使用这些工具解决更多问题, 案例也会持续更新,欢迎提出补充建议。
1 基本配置
大多数工具只包含在 sdk 镜像中,或包含在将 tools-profile
加入 EXTRA_IMAGE_FEATURES 后构建的镜像中。
要使用本手册介绍的所有工具,可以构建并启动一个 sdk 镜像,例如:
$ bitbake core-image-sato-sdk
$ bitbake core-image-weston-sdk
$ bitbake core-image-rt-sdk
也可以在 build/conf/local.conf 中,
把 tools-profile 加入 EXTRA_IMAGE_FEATURES:
EXTRA_IMAGE_FEATURES:append = " tools-profile"
采用 tools-profile 方法时,不必构建 SDK 镜像。
跟踪与性能分析工具也会包含在非 SDK 镜像中,例如:
$ bitbake core-image-sato
备注
Yocto 构建系统默认会剥离打包后二进制文件中的符号, 这会使部分工具难以使用。
构建镜像时,可以在 build/conf/local.conf 中 将 INHIBIT_PACKAGE_STRIP 设为 "1",以阻止符号剥离:
INHIBIT_PACKAGE_STRIP = "1"
该设置会明显增加镜像体积。
如果已经构建了剥离符号的镜像,可以生成调试包(xxx-dbg),再按需手动安装。
要为软件包生成调试信息,可以在 build/conf/local.conf 中
将 dbg-pkgs 加入 EXTRA_IMAGE_FEATURES,例如:
EXTRA_IMAGE_FEATURES:append = " dbg-pkgs"
另外,要生成正确类型的调试信息,还需要在 build/conf/local.conf 中设置 PACKAGE_DEBUG_SPLIT_STYLE:
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'