我想在多线程pthread应用程序中监视上下文切换行为。
在其他RTOS(Micro C OS)中,我已经能够为应用程序中的每个线程注册上下文切换回调,然后记录(或切换gpio)并实时观察线程上下文切换。这是调试多线程的实时行为和交互的有用工具。
我目前的环境是利用pthread api嵌入式Linux。有没有办法监控每个上下文切换?
答案 0 :(得分:2)
不是你所描述的方式,但是Linux有各种各样的分析工具,比如oprofile,SystemTap和perf事件,但我不确定它们在嵌入式开发中的适用程度。
编辑:perf可能是最好的(如果你运行的是最近足够的内核来使用它),因为它在主线中,所以你只需要打开它,它就是基本的。
编辑:如果这些都不适合您,您可以随时修改内核上下文切换代码...
编辑:我错过了其中一个跟踪框架,还有LTTng
如果您正在使用busybox并且可以编译自己的内核,那么perf可能是最简单的方法,它包括在内核中打开perf事件并编译内核源代码所附带的perf工具(它在工具中) / PERF)