Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ぼくの障害/バグ対応レシピ #gotandapm

239 views

Published on

Gotanda.pm #6( http://gotanda-pm.connpass.com/event/19124/ )

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

ぼくの障害/バグ対応レシピ #gotandapm

  1. 1. はじめてのPerl6 障害/バグ対応レシピ @okazu_dm
  2. 2. 自己紹介 • @okazu_dm(岡田 数馬) • 渋谷でWebエンジニアをやってます • 実はPerl歴 < バイトのPython/PHP歴
  3. 3. タイトルについて • YAPCあたりからPerl6でポチポチ遊んでみた • そういえばVMが選べるしそのあたりの話しよ うかなと思っていた • Moar, JVM, Parrot • あれ?そういえばこんな話聞いたことがあるような....
 (昨日の時点)
  4. 4. というわけで
  5. 5. 障害やバグを見つけた時の
 調査によく使ってるツールの 紹介をします
  6. 6. 最初に
  7. 7. つけよう gオプション perlbrewなら
 perlbrew install perl-5.8.8 -DEBUGGING=-g
  8. 8. gdb & gdbperl.pl • gdbperl.pl: gdbによるperlのデバッグを非常 に便利にしてくれるツール • 以前、特定のプロセスがシグナルハンドラの 実装によってハングアップした時に出番があっ た
  9. 9. たのしいSEGV • SEGFAULTした時のデモします
  10. 10. strace, ltrace, ftrace • strace: システムコール単位での記録が可能。
 この前ビルドしたPerlがテストでコケる時に使いました。 • ltrace:共有ライブラリ(.so)の関数呼び出しが見れる。あま り使ったことはないです • ftrace:カーネル内の関数呼び出しをトレースできる。カー ネルのビルドの際にパラメータを付けている必要がある が、デバイスドライバなどのデバッグに非常に役立つ
 (仕事では使ったことないです)
  11. 11. straceの様々なオプション • p : プロセスにattach • f : スレッドも追います • o: ファイルに出力 • e: 表示するシステムコールをフィルタリングでき ます。 • その他いくつか
  12. 12. その他 • tcpdump & wireshark:ネットワーク周り • フィルタの書き方を忘れなければ便利

×