0

Linux では、echo t > /proc/sysrq-triggerシステム内のすべてのスレッドのカーネル コール スタックをダンプするために使用できます。

同じ目的で Mac OS X に方法はありますか? または1つのプロセスのカーネルスタックをダンプする方法はありますか?

4

4 に答える 4

1

簡単な答え: procexp 0 スレッド (root として) でうまくいきます。ここで、procexp はhttp://newosxbook.com/tools/procexp.htmlの「Process Explorer」です。

少し長い回答: - Dtrace は過剰であり、SIP の無効化が必要です - 基礎となる syscall (#365) が削除されたため、stackshot は非推奨です - 代わりに、stack_snapshot_with_config(#491) をプログラムで使用することもできます (これが上記のツールを駆動するものです) )

于 2019-08-29T20:57:48.233 に答える
0

答えはおそらく dtrace です。Instruments.app (または iprofiler) がプローブ ベースのプロファイリングを実行できることはわかっているため、定期的なスタック トレースが必要です。(ユーザーまたはカーネル。選択) 私が知る限り、これはすべて dtrace に基づいています。

于 2016-03-22T10:08:06.907 に答える