タグ

codeとdebugに関するjjzakのブックマーク (4)

  • debugging with GDB

    gdbとは gdbは The GNU Project Debuggerのことです。 デバッグのためのツールです。 プログラムがエラー終了するが、どこが悪いのかわからない… というような時に便利です。 準備 デバッグ対象プログラムのコンパイル コンパイルしたプログラムにデバッグ情報を含めておくと、 デバッガでプログラムのソースを参照できるなど、 デバッグが非常に楽になります。 gccやUNIXのccでは、コンパイル時に「-g」オプションを付加すると デバッグ情報を生成します。 最適化オプション「-O」と デバッグオプション「-g」の両方は 同時に指定できないコンパイラもあるので注意してください。 gccは同時に指摘できます。 なお、FreeBSDやRedHat Linuxのccの正体はgccなので、 「-O」と「-g」を同時に指定できます。 makeでコンパイルしている場合には、 「-g」オ

  • http://www.machu.jp/posts/20090307/p01/

    http://www.machu.jp/posts/20090307/p01/
  • Core War - Radium Software

    メモリ破壊と言えば…… Core War (コア戦争)というプログラミング・ゲームの一種がある。 Core War では Redcode と呼ばれる仮想アセンブリ言語が用いられる。この言語を使って書かれたプログラムを,同一のメモリ空間上で実行し,互いのプログラムを破壊し合う。それで,最後まで止まらずに生き残ったプログラムが勝ちとなる。詳細については Coding Horror の紹介記事がまとまっていて参考になる。 面白いのは,とにかく自己複製を行いまくるプログラムが強い,というわけではないこと。複製は行わず,たくさんの停止命令をメモリ上にバラ撒いて,相手がそれを踏んで止まるのを待つという戦略もある。あるいは,相手のコードの位置を特定してから破壊しにかかる手もある。 Core War とバグによるメモリ破壊は色々とわけが違うけれど,デバッガーのメモリダンプと睨めっこしながらステップ実行でメ

    Core War - Radium Software
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • 1