タグ

デバッグに関するyosiloveのブックマーク (2)

  • Ruby でも型チェック (Codelogy)

    動的型付け (スクリプト) 言語では、データ型のチェックが実行時にしか行われないため、プログラムの妥当性検証・デバッグといった作業が困難になります。 例えば、Ruby でプログラムを書いていて、次のようなバグに悩まされたことのある人は多いのではないでしょうか。 Integer オブジェクトを参照しているべき変数が、他の型のオブジェクトを参照している。 そのオブジェクトが「いつ」「どこで」代入されたものなのか分からない。 この手のバグは、問題の発生 (不正な型の代入) と発覚 (エラーの発生) の位置が離れてしまうので、非常に厄介。 発生箇所を絞り込むのが難しいため、プログラムを広範囲に渡って見直すハメになります。 require 'date' require 'check_type' # 「学生」クラス class Student attr :id attr :fname attr :l

    yosilove
    yosilove 2011/01/19
     型のチェック
  • gdbコマンド メモ - Watsonのメモ

    自分用にgdbコマンドをメモ。別のサイトに載せていたのですが、サイトが消えたのでこちらに載せ直しました(^^; list ソースコードを表示。 sample.cの10行目あたりを表示する場合、以下のコマンドを実行します。 (gdb) list sample.c:10 5 #define LED3 0x40 6 7 void wait() 8 { 9 static int status; 10 static unsigned int t; 11 12 do{ 13 status = *DGA_CSR20 & TT0_BIT; 14 t = (*DGA_CSR13 & 0x00ffffff); print (p) 変数の値を表示。 statusという変数の値を表示する場合、以下のコマンドを実行します。 (gdb) p status $1 = 104857 (gdb) p/x status $2

    gdbコマンド メモ - Watsonのメモ
    yosilove
    yosilove 2010/07/29
    GDBコマンドのメモ
  • 1