タグ

Programmingとdebugに関するpaellaのブックマーク (2)

  • 経験の浅いプログラマーがデバッグできない理由

    経験の浅いプログラマーがデバッグできない理由 「大半の人間がデバッグできない理由」を読んで思いついたことを書きます。 Lights Out っていうパズルゲームがあって、 これは1つのランプを消すと、周りのランプがつく、みたいなルールになっていて、 それを全部消すというゲームです。 たとえば Lights Out - 2 Flash Games, Lights Out Game とか。 今は入手できないのですが「牡丹灯籠」という実装が好きでした。 通常の Lights Out だと消えてるランプをクリックできるのですが、 牡丹灯籠はできなかったんじゃなかったかな、たしか。 ルールもそうだし、グラフィックが切なくてよかったですねー。 んで、ゲームをするとして、とりあえずいろいろクリックしていくわけですね。 そんで、自分の知ってるパターンに収束したら、 あとはパターンに沿って消していけば全部消

    paella
    paella 2009/07/22
    自分のパターンに落とし込めるかどうかが肝。関係ないけど、牡丹灯籠というライトアウト系のゲームがどんなだか気になる。
  • C++ のプログラムのデバッグを楽にする方法

    Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な

    C++ のプログラムのデバッグを楽にする方法
  • 1