我正在寻找一个用于性能分析和调试的工具,它可以绘制线程上下文切换,也可能是信号量状态,事件,...... 我在嵌入式世界中使用过类似的工具,但我现在正在Windows或Linux平台上寻找相同的工具。 我想要分析的应用程序是一个c ++多线程应用程序。 有没有人有推荐的工具?
答案 0 :(得分:2)
对于Linux和Solaris,来自Oracle Solaris Studio的 Oracle线程分析器(它也可以在Linux上运行,尽管它的名称)可以提供对多线程应用程序性能问题的大量了解。除了Oracle Solaris Studio,仍然是免费的。
英特尔VTune Amplifier XE (以前称为英特尔线程分析器)可在Linux和Windows上使用。
答案 1 :(得分:1)
在Windows上,您可以使用xperf工具收集和绘制上下文切换。它是一个免费工具,是Windows Performance Analysis Developer Center的一部分。对我来说很好,看截图。
答案 2 :(得分:0)
答案 3 :(得分:0)
可能这不是您正在考虑的工具,但它简单,快速且有用。
使用GDB时,您可以输入:
info threads
查看有关正在运行的线程的信息。接下来,您可以切换到所选的线程并打印回溯以查看它的位置:
thread <thread-id>
bt