Linuxプロセスでpthreadのスレッドをトレースするためのツールは見つかりませんでした。私はstrace/ltraceのようなものが欲しいです、リアルタイムでコールを見るためのものがありますか? ありがとうLinuxでpthreadをトレースしていますか?
8
A
答えて
14
straceはスレッド用にも機能します。すべてのスレッドをstraceするにはstrace -f
を使用してください。
特定のスレッドのみをstraceするには、まずそのtid(スレッドID)を見つける必要があります。 スレッドは実際にはpid(プロセスID)のスレッドIDを持っています
スレッドのPIDを知ったら、strace -p the_pid
を使ってそのスレッドをstraceしてください。
プロセス内のすべてのスレッドのPIDは、/proc/<pid>/task/
にあります。現在のスレッドIDは、gettid()
のCコールで学習できます。
0
実際には、straceはperfと同じくらい良いわけではありません。
perfツールを使用すると、詳細情報を取得できます。例えば
あなたのスレッドの一部がハング、そしてあなたがハングアップコールの機能何を知りたい場合は、PID-ID -p 使用straceのは、限られた情報を返しますが、PERFのトップ、またはPERF -t tidが
よりを戻します関連する問題
- 1. Linuxソケット呼び出しをトレースしていますか?
- 2. RH Linuxのpthread
- 3. pthreadはLinuxカーネル3.2でどのように実装されていますか?
- 4. C++:Linuxでのpthreadステータス監視
- 5. ウィンドウでのLinuxのpthreadの移植性
- 6. pthreadの内部にpthreadを作成することはできますか?pthreadはすでにメインによって作成されていますか?
- 7. nvccは内部的に "-pthread"オプションをサポートしていますか?
- 8. linuxでpthreadを使用する場合、pthread_joinは必須ですか?
- 9. これを正しくトレースしていますか?
- 10. リモートサーバ上のlinuxコンソールでJavaアプリケーションをデバッグまたはトレース
- 11. これはprintf()/ pthreadのバグですか、何か不足していますか?
- 12. pthreadを一時停止しますか?
- 13. Linux上のプロセスのコンテキストスイッチのトレース
- 14. pthreadでPTHREAD_CREATE_JOINABLEをどのように使用していますか?
- 15. GetHashCodeを使用してオブジェクトIDをトレースできますか?
- 16. C - pthreadを使用し、戻り値を待っています
- 17. Linuxカーネルで割り込みをトレースする
- 18. Linuxのpthreadコンテキスト(スレッドID)を回復する
- 19. Linuxでの関数パラメータの意味Pthread Scheduling APIのプログラミング
- 20. pthread-killについて
- 21. PHPのPthreadについて
- 22. Fodyは最終アセンブリで参照/トレースを残していますか?
- 23. Linux + uClibc + pthread(C):最後にアプリケーションがフリーズする
- 24. pthread APIはマルチプロセッサ環境で同期を提供しますか?
- 25. Pthreadが関数を実行していません
- 26. 遅いpthreadコンシューマ
- 27. typedefがpthreadで動作しないのはなぜですか?
- 28. LionからXcodeのすべてのトレースを削除します
- 29. がv4l2から欠落しています。linux vs uapi/linux
- 30. Linux用のInformix ClientのODBC呼び出しのトレース
wow大変ありがとう、straceの助けを100回見ましたが、フォローフォークがスレッドを表示するとは思わなかった – Sergey
これは(私にとっては、とにかく)機能しません。具体的には、strace -f -pを使用して、見たいスレッドをアタッチしています。新しいソケット接続を受け入れるたびに、それを処理するためのpthreadが作成されますが、straceはpthread_create呼び出しを新しいスレッドにまったく引き継ぎません。 –
Michael