setitimer システムコールを使って簡単なプロファイラを作る setitimer システムコールを使うと一定時間間隔でシグナルを発生させることができます。頻繁にシグナルを発生させて、「シグナルが呼ばれたときにどこにいたか」を記録していけばサンプリング方式のプロファイラを作ることができます。 以下のコードは x86 の Linux を対象とした簡単なプロファイラです。prof_start() では setitimer() を使ってプロファイルをとるための下準備をしています。シグナルハンドラ prof_handler() ではシグナルが呼ばれた時点のコンテキストの情報からプログラムカウンタを取り出し、fwrite() でファイルに書きこんでいます。 LD_PRELOAD するだけで使えるよう、 prof_start() と prof_end() にそれぞれ constructor と d
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く