タグ

Debugとdebuggerに関するsyo-yuのブックマーク (4)

  • 非対話的デバッガ YouDebug - 川口耕介のブログ

    バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー

    非対話的デバッガ YouDebug - 川口耕介のブログ
  • gdb豆知識 2008-09-26 - 未来のいつか/hyoshiokの日記

    意外と知っているようでよく知らない自分が日々使う道具。そこで、gdbについて復習がてらいろいろ調べることにする。 gdbemacsから使う gdbをコマンドラインから素で使うのはいかがなものかなと思う。やっぱemacsと固く結合されているわけだからemacsから使うのが正しい姿であろう。 「え〜、だってvi使いだし〜」とか「秀丸からは使えないんすかね」とか言うやつがいるが、秀丸ってなんだよ、とりあえづubuntuでも入れて、emacsいれて、gdb使いなさいとか指導したくなる。いかんいかん、説教くさくなってはいかんいかん。 先日もある会議でデバッガの話が話題になったのだが、「TCPなんちゃらのストール問題のデバッグ方法なんですけどね」、みたいな話題で、「それってカーネルの話?」とわたしが聞くと、「いや、ユーザランドっす」と若いハッカー、「じゃ、gdbでほげほげでいけそーね」、「そーっすね

    gdb豆知識 2008-09-26 - 未来のいつか/hyoshiokの日記
  • Mac 2 日目の僕でも出来た! XCode を使った Firefox デバッギング - IT戦記

    ちょっと釣りっぽいタイトルでごめんなさいw でも、当に簡単に出来るので皆様もお試しあれ。あと、 Mac まだよくわかってないのですごい回りくどいことやってるかもしれないので、そのときは指摘してくだしあ>< じゃあ、いってみよう! 1. Firefox のソース持ってくる! $ mkdir ~/source $ cd ~/source $ export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot $ cvs login pass:anonymous $ cvs co mozilla/client.mk mozilla/browser/config $ cd ~/source/mozilla $ make -f client.mk pull_all MOZ_CO_PROJECT=browserとやるとソースがダーっとダ

    Mac 2 日目の僕でも出来た! XCode を使った Firefox デバッギング - IT戦記
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • 1