スレッドのコンテキストスイッチ、およびおそらくセマフォの状態、イベントなどをプロットするパフォーマンス分析とデバッグ用のツールを探しています...組み込みの世界でそのようなツールを使用しましたが、現在は同じものを探していますWindowsまたはLinuxプラットフォーム。プロファイルしたいアプリケーションは、c++マルチスレッドアプリケーションです。誰かがこれを推奨するツールを持っていますか?
4 に答える
LinuxおよびSolarisの場合、OracleSolarisStudioのOracleThreadAnalyzer (名前にもかかわらずLinuxでも実行されます)は、マルチスレッドアプリケーションのパフォーマンスの問題に関する多くの洞察を提供できます。Oracle Solaris Studioに加えて、まだ無料です。
Intel VTune Amplifier XE(以前はIntel Thread Analyzerと呼ばれていました)は、LinuxとWindowsの両方で使用できます。
Windowsでは、xperfツールを使用してコンテキストスイッチを収集およびプロットできます。これは、 Windows Performance AnalysisDeveloperCenterの一部である無料のツールです。私にとってはうまくいきました。スクリーンショットを参照してください。
Windowsパフォーマンスモニター?
これはほとんどのWindowsプラットフォームで標準であり、コンテキストスイッチなどに関する情報を提供すると思います。
でも、Windowsだけが怖いです。
おそらくこれはあなたが考えているツールではありませんが、シンプルで高速で便利です。
GDBを使用する場合は、次のように入力できます。
info threads
実行中のスレッドに関する情報を確認します。次に、選択したスレッドに切り替えて、バックトレースを印刷して、それがどこにあったかを確認できます。
thread <thread-id>
bt