トレース見るだけなら簡単2

  • 投稿日:
  • by
  • カテゴリ:



前にも書きましたが、アプリがどこで落ちたかはcoreを見れば分かります。



まずコアダンプを吐く設定にしておかなければなりません。ulimitとかするだけです。


次に実行バイナリを-g付きでコンパイルしておかなければなりません。


あとは前に書いた手順でおわり。


バックトレースを見るだけなら誰でも出来ます


http://d.hatena.ne.jp/syasuda/20080513/1210249395


Windowsなら最近こんな本も出てます。


動いている途中でプロセスをデバッグしたいならattachです。そんなの常識だろ、というWindowsな人は多いですが、pidの調べ方知らないでしょ?VC見たいにリストがポンと出たりしませんよ。そこはpsコマンドなどを覚える必要があるのです。



さて、アプリがどんな設定ファイルを読んでいるかなどの情報は、straceでログをとればいいです。folkにもfollowしてくれますので、アプリ起動スクリプトをstraceしちまえば完璧です。


巨大なログが吐き出されてもなきべそかかないように。


ログはperl|lessで整形してみるなりするのは当然のことです。


trussでシステムコールをトレース


http://d.hatena.ne.jp/syasuda/searchdiary?word=strace&.submit=%B8%A1%BA%F7&type=detail


例えばログをopen()と/etcでgrepすれば、どんな設定ファイル読み込んでるか分かってしまいます。



いまどきは解析できにくくしてあるアプリやシステムが普通にあるそうです。私はニッチな仕事が多いので、脇の甘いシステムばかり見てきました。楽チンぽんです。