タグ

debugとprogrammingに関するkorinのブックマーク (6)

  • Perlデバッガの手引き - Perl入門ゼミ

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

    Perlデバッガの手引き - Perl入門ゼミ
  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
  • ちょっとしたコードを検証するコツ - Unknown::Programming

    とりあえずPerl限定のお話で。 まぁ皆同じようなことは多分してると思うのでぐだぐだと何か言うことも無いんだけど、自分流のやり方を覚書程度にメモするという意味でここに残しておきます。 まず以下のようなfoo.plを用意します。 #!/usr/local/bin/perl -w use strict; use warnings; use Data::Dumper; use YAML(); sub p (@) { local $Data::Dumper::Indent = 1; print Dumper(@_) } sub P (@) { print YAML::Dump(@_) } use Perl6::Say; use Path::Class; __END__ 自分の環境にあわせてお好みのuse文を入れておきましょう。Perl 5.10とかならPerl6::Sayはいらないですね。 ちなみ

    ちょっとしたコードを検証するコツ - Unknown::Programming
  • 実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記

    strace システムコールをトレース。カーネルと何を話しているか。 strace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 straceを使ったデバッグ - SourceForge.JP Magazine : オープンソースの話題満載 Linuxカーネルの作り出す世界 − @IT自分戦略研究所 - ふつうのLinuxプログラミング 青木峰郎 システムコールとライブラリ関数 − @IT自分戦略研究所 システムコール・ライブラリルーチン - UNIX の部屋 ltrace 共有ライブラリの呼び出しをトレース。*.soと何を話しているか。 ltrace -p PID でプロセスにアタッチ。実行中のプロセスをトレース。 ltrace で共有ライブラリの関数呼び出しをトレースする - bkブログ 404 - エラー: 404 - Linux JF ƒ‰ƒCƒuƒ‰ƒŠ‚ÌŠ

  • Vim+xmpfilterでirbいらずのRuby試行錯誤開発 - ナレッジエース

    おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) 先日「まるごと Ruby! Vol.1」を読んでいて、xmpfilterとうい試行錯誤ツールがあることを知りました。 xmpfilterは、Rubyソースコード中の任意の行末に「# =>」という計算マーク(コメント)を入れておくことで、そこにその行の式の値を埋め込んで表示してくれるフィルターコマンドです。(irbでは一行ずつ表示される結果が、直接コードの行末に表示できるイメージ) インストールもgemで一発。すぐに使えるうえ、標準でVimEmacsから使うためのスクリプトまで用意されているスグレモノ。 超絶便利だと思うのですが、そのわりにあまり情報をみかけないので、ここではVimから便利に使うための方法につい

  • Read/Writeロック、ブロックするQueue、色付き非同期Logger - Blog by Sadayuki Furuhashi

    分散ファイルシステムはマルチスレッドで作っているわけですが、マルチスレッドなら必ず使うであろう諸クラスを作成。作成と言うか、V-FIELDを作ったときに必要なものは大方作ったので、改良が主。 Read/Writeロックは、普通のRead/Writeロック。C++と言えばRead/Writeロックくらいboostにあると思ったら、無いので作成。 ブロックするQueueというのは、popするときに中身が空だったら、何か入ってくるまで待つ、というもの。V-FIELDには、キューの実装に、STLのqueue+boostのshared_ptrを使っていたのですが、どうもboost::ptr_dequeの方が効率が良いらしいので、変更。これでptr_blocking_queue。int型などはポインタにすると逆に効率が悪いので直にコピーした方が良い、ということで、キューの実装に普通のstd::dequ

    Read/Writeロック、ブロックするQueue、色付き非同期Logger - Blog by Sadayuki Furuhashi
    korin
    korin 2007/11/04
    ログをはきまくるというテクニック
  • 1