タグ

Debugとperlに関するWatsonのブックマーク (5)

  • PerlでどこでもREPLする - Kentaro Kuribayashi's blog

    ir_b で快適 irb 生活!が面白い感じだったのでPerlでもできないのかなーってんでCPANを見てみたら、Carp::REPLで同じようなことができそうな感じでした。 #!/usr/bin/env perl use strict; use warnings; use Carp::REPL qw(repl); my $foo = 'foo value'; repl(); #=> ここでREPLに入る #=> ↓は、REPLをC-dが:qコマンドで抜けた後に実行される my $baz = 'baz value'; print "$baz\n"; 上記を実行してみると、以下のような感じ。いろいろコマンドがあるので、そのあたりはCarp::REPLのドキュメントを参照のこと。 $ perl unko.pl Trace begun at unko.pl line 7 $ $foo foo va

    PerlでどこでもREPLする - Kentaro Kuribayashi's blog
  • Perlデバッガの手引き - Perl入門ゼミ

    Perl › デバッガ Perlのとても便利な道具のひとつにデバッガがあります。デバッガを使うとスクリプトを一行づつたどって変数の中身を見たり、ブレークポイントを設定してその位置で停止したりすることができます。 デバッガは当に便利なのですがPerlをやっていても意外と知らない人がいます。ひとたびデバッガを覚えてしまうと試験をするときに手放せなくります。Perlを覚えたての時期からどんどん使っていって欲しいツールです。そんなデバッガのコマンドとテクニックをまとめてみました。 デバッグ用のスクリプト デバッグ用の簡単なスクリプトを準備しました。debug.plという名前で保存してください。このスクリプトを使用してデバッガの解説をします。 my $message = 'Hello'; my @nums = (1, 2, 3); my %scores = (math => 80, english

    Perlデバッガの手引き - Perl入門ゼミ
  • 死んだプロセスのスタックトレースを自動収集するデーモンを書いた (そして、その出力を開発者に送ってあげると喜ばれるよという話) - kazuhoのメモ置き場

    死んだプロセス (あるいは kill したプロセス) の core イメージから自動的にスタックトレースを収集するデーモンを書いたので、これをセットアップしてサーバにインストールしとくといいかもです (kaztools/bt_cores at master · kazuho/kaztools · GitHub)。Linux のみ対応*1。使い方は bt_cores --help とするか、perl Makefile.PL && make install して man bt_cores。 具体的にいうと、Q4M とか Incline とか kazuho product が落ちたり固まったりしたらスタックトレース送ってくれると、私がうれしいです (古いバージョンのスタックトレースだととても悲しいです)。コアファイルは内部データがいろいろ入ってるから外部の人には見せられないけど、スタックトレース

    死んだプロセスのスタックトレースを自動収集するデーモンを書いた (そして、その出力を開発者に送ってあげると喜ばれるよという話) - kazuhoのメモ置き場
  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • [を] Perl でのデバグ用のダンプ

    Perl でのデバグ用のダンプ 2006-09-15-4 [Programming] 「Perl Hacks」よりデバグ用のダンプの話。 Data::Dumper をよく使っていたが、よりデバグに適したモジュール Dumpvalue を知った(p.182, HACK#71)。よさげなので活用するつもり。 以下、自分用メモを兼ねたサンプルコードと実行例: % cat dumpvalue-test.pl #!/usr/bin/perl use strict; use warnings; use Dumpvalue; my $d = Dumpvalue->new(); my @array = ({foo => ["One", "Two"], bar => "Hello"}, {foo => ["Hi", "Hu", "Mi"]}, {foo => ["ABCD", "EFG"], ba

  • 1