我想要监控多线程pthread应用程序中的上下文切换行为。
在其他RTOSes(Micro C OS)中,我已经能够为应用程序中的每个线程注册一个上下文切换回调,然后记录(或切换gpio)并实时观察线程上下文切换。对于调试多线程的实时行为和交互,这是一个有价值的工具。
我当前的环境是使用pthread api的嵌入式linux。有没有一种方法可以监控每个上下文切换?
发布于 2010-05-27 04:52:20
虽然不是你所描述的那样,但是Linux上有各种各样的分析工具,比如oprofile,SystemTap和perf events,我不确定它们是否适合嵌入式开发。
编辑: perf可能是最好的(如果你正在运行一个足够新的内核来使用它),因为它在主线上,所以你只需要打开它,而且它真的很基础。
编辑:如果这些都不适合你,你可以随时修改内核上下文切换代码...
编辑:我错过了一个跟踪框架,还有一个LTTng
如果你使用busybox并且可以编译你自己的内核性能可能是最简单的方法,它包括打开内核中的perf事件和编译内核源代码附带的perf工具(在tools/ perf中)
https://stackoverflow.com/questions/2914187
复制相似问题