2

我想监视多线程 pthread 应用程序中的上下文切换行为。

在其他 RTOS(Micro C OS)中,我已经能够为应用程序中的每个线程注册一个上下文切换回调,然后记录(或切换 gpio)并实时观察线程上下文切换。对于调试多线程的实时行为和交互来说,这是一个很有价值的工具。

我当前的环境是使用 pthread api 的嵌入式 linux。有没有办法监控每个上下文切换?

4

1 回答 1

2

不是您描述的方式,但是有各种用于 Linux 的分析工具,例如 oprofile、SystemTap 和 perf 事件,但我不确定它们是否适合嵌入式开发。

编辑: perf 可能是最好的(如果您正在运行足够新的内核来使用它),因为它在主线中,所以您只需打开它,它真的很基本。

编辑:如果这些都不适合你,你可以随时修改内核上下文切换代码......

编辑:我错过了其中一个跟踪框架,还有 LTTng

如果您使用busybox并且可以编译自己的内核性能可能是最简单的方法,它包括在内核中打开性能事件并编译内核源代码附带的性能工具(它在工具/性能)

于 2010-05-26T20:52:19.790 回答