监视pthread上下文切换

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

在其他RTOS(Micro C OS)中,我可以为应用程序中的每个线程注册上下文切换callback,然后logging(或切换gpio)并实时观察线程上下文切换。 这是debuggingmultithreading的实时行为和交互的有价值的工具。

我目前的环境是使用pthread APIembedded式Linux。 有没有办法监视每个上下文切换?

Solutions Collecting From Web of "监视pthread上下文切换"

不像你所描述的那样,但是有各种各样的用于Linux的分析工具,比如oprofile,SystemTap和perf事件,但是我不确定他们能够很好地适应嵌入式开发。

编辑:perf可能是最好的(如果你正在运行最近的内核使用它),因为它在主线,所以你只需要打开它,这是非常基本的。

编辑:如果没有这些为你工作,你总是可以修改内核上下文切换代码…

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

如果你使用的是busybox,并且可以编译自己的内核,那么perf可能是最简单的方法,它包括在内核中启动perf事件并编译内核源代码中的perf工具(它在tools / perf中)