タグ

programmingとtipsに関するsatojkovicのブックマーク (6)

  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
  • デバッグのこつ

    _ デバッグのこつ わたしがprintf()デバッグをしない理由とか わたしがprintf()デバッグをする理由とかを見て、 私も何か書こうかと思ったんですが、 面倒くさくなってやめてました。 でもちょっとだけ書くことにします。 前にも書いたんですけど、 Ian Lance TaylorのDebuggingというエッセイ を読んでください、でお終いだったりします。 特にここ。 Of course, sometimes a debugger does not help. [省略] In such cases simple print statements can sometimes help locate the source of the bad behaviour. Add print statements to relevant locations, rebuild the progr

    satojkovic
    satojkovic 2009/03/29
    参考になります
  • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

    普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次の Ruby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 % ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

  • 工学ナビの中の人の研究と周辺 ソースリーディングのススメ 人のソースを読む6つのコツ

    「○○を作るにはどうしたらいいの?」 「このソフトがやっているこの処理のコードが知りたい」と困ったときは,似たようなことをやっているプログラムのソースをやネットから探して,それを読むのが一番です. 今日は自分が求めているコードとそうでないコードが混ざりあっているソースを解読して,目的のコードを探し当てるコツを挙げてみたいと思います.(内容的にはC/C++/VC++寄り) [1] とりあえず自分の環境でコンパイルして動かしてみる 拾ってきたソースが自分の開発環境でコンパイルできないと,そもそもそれが自分の環境で動くものなのか確認できません.また,後述する「いじって動かして」をやるためにも,最低限プログラムが動く状態にする必要があります. [2] プログラマが書いたコメントを読む 大抵のことはコメントを読めばわかります.ヘッダファイルの上部には注意書きが書かれていることがよくあるので要チェッ

  • テキストの改行コード

    目次 改行コード変換ソフトウエア WindowsMacintoshで稼動するperlを使って上のように変換するか,以下のフリーウエアを使う. Windows用 ページブラウザ(笹川泰宏氏) Macintosh用 ASL KConvert(山田浩太氏) また,エディタ(Windows版のWZエディタやMuleなど)によってはUNX,Windows95,Macintoshの改行コードを自動判別してくれるものがある. パソコンで使うツールについては, 窓の杜などインターネット経由で入手するか,インターネットマガジンなどの付録CDROMから入手するとよい. 目次 UNIXでの改行コード変換 マルチプラットホーム環境で作業をするとき,これらのOS間での差異を解消するにはUNIXにファイルを置いて変換するのが便利である(パソコンでもこうした変換ツールが知られている). ファイルの行末の改行形式の変換

  • http://home.catv.ne.jp/pp/ginoue/debug/gdb.html

  • 1