タグ

debugに関するmoozのブックマーク (10)

  • 他人の書いたソフトウェアのバグへの対処例 - Qiita

    はじめに 記事は、他人の書いたソフトウェアのバグに遭遇したときにどうするかという流れを、実例を基にして、ストーリー仕立てでなるべく具体的に書きました。このようなときの対処に不慣れな人に、実際のデバッグ、バグレポート、および修正案の提出までの流れを掴んでもらうことが目的です。 バグに遭遇 筆者も参加していたLinux Advent Calendar 2016に、ある日シェルスクリプト(Bash)で作るTwitterクライアントという記事が投稿されました。twitter APIの認証に使われているOAuth1.0aとshell芸に興味があったことより、この記事を読んでみることにしました。 そこで紹介されているtweet.shというbash製twitterクライアントを試そうとしたところ、出力は次のようになりました。 いきなり何かがおかしいです。自分のtwitterアカウントに関するJSON形

    他人の書いたソフトウェアのバグへの対処例 - Qiita
    mooz
    mooz 2016/12/29
    こういった思考と試行のプロセス、とても勉強になる
  • Chronon Time Travelling Debugger | Chronon

    The Chronon Time Travelling Debugger allows you to playback Chronon recordings of your Java programs and easily find root cause of defects. It is specifically built from the ground up to allow debugging of long running programs that run for days/months and are highly multithreaded. The debugger plugs seamlessly into Eclipse adapting itself naturally to your workflow. You can also use the Eclipse i

    mooz
    mooz 2014/12/19
    デバッグ時に巻き戻しできる
  • GitHub - google/sanitizers: AddressSanitizer, ThreadSanitizer, MemorySanitizer

    sanitizers This project is the home for Sanitizers: AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more The actual code resides in the LLVM repository. Here we keep extended documentation, bugfixes and some helper code. The documentation for our tools: AddressSanitizer (detects addressability issues) and LeakSanitizer (detects memory leaks) ThreadSanitizer (detects data rac

    GitHub - google/sanitizers: AddressSanitizer, ThreadSanitizer, MemorySanitizer
    mooz
    mooz 2013/04/28
  • 端末エミュレーションを知覚する - Trachetチュートリアル - Qiita

    はじめに このポストでは、端末(VT互換端末)でおこる諸問題の診断、追跡を可能にするツール、Trachetの使い方をざっと説明してみようと思います。 じつのところ今回は第一・第二端末特性応答(DA1/DA2)の話を書こうとしていたのですが、やはり一般的にはあまり実体が知覚されていないものの話になってくるあたりからもうピンとこないどころか雲を掴むような印象になりがちで、つまり筆力の限界を感じざるを得なかったので、先にこれを紹介しておけばクエリ・応答シーケンスの話題をいくらか具体的なものとして感じてもらうことが可能なのではないか、と考えたのが、この話を書くきっかけです。 Trachetの概要 Trachetは特に、キーボードやマウス入力周りの不具合、描画周りがおかしくなる現象など、入出力を追跡・監視して対応する必要がある諸問題に対して、アプリケーションと端末の間の具体的な会話を見える化し、原因

    端末エミュレーションを知覚する - Trachetチュートリアル - Qiita
    mooz
    mooz 2013/01/20
    「誤ってちょっとセンシティブな問題(歴史的経緯やおっさんたちの微妙なコンセンサスで物事が決まる領域)を踏み抜いてしまったときの無力感」
  • JIT Interface (Debugging with GDB)

    30 JIT Compilation Interface This chapter documents GDB’s just-in-time (JIT) compilation interface. A JIT compiler is a program or library that generates native executable code at runtime and executes it, usually in order to achieve good performance while maintaining platform independence. Programs that use JIT compilation are normally difficult to debug because portions of their code are generate

    mooz
    mooz 2012/03/11
    JIT Compilation で生成したコードを gdb でデバッグするために.
  • バグのないプログラムを作るための技術 - eomole blog 4 くらい

    2015/12/10 追記: バグを気で無くしたい方はこんな良く辺鄙なブログなんて見ずにソフトウェアエンジニアリング系の国際学会に行くなり、そこの論文を読むなりするといいと思います。ICSEなんかは日語の勉強会資料もあってとっつきやすいでしょう。 バグのないプログラムを作る方法について色々聞きかじったことを, 脈絡なく訳の分からない説明でつらつらと書きならべます. テスト 割と古典的な方法ですね. プログラミングコンテストでもお馴染みの方式です. Java だと JUnit (4) みたいなのを使います. 手作りケース とりあえず試してみるケース コーナーケース ミスの発生しやすそうなところを突くためのケース ランダムケース ランダムに爆撃するためのケース みたいなものを作って, 仕様とマッチするか確認します. 当たり前ですが, 基的には下手な鉄砲も数撃ちゃ当たる方式なので, 運が悪

    バグのないプログラムを作るための技術 - eomole blog 4 くらい
  • Monorail - google-breakpad - Crash reporting - Monorail

    About Monorail User Guide Release Notes Feedback on Monorail Terms Privacy

    mooz
    mooz 2012/02/14
    Mozilla の Crash Reporter が吐くミニダンプファイル
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

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

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
    mooz
    mooz 2011/12/07
  • http://homepage1.nifty.com/herumi/diary/1105.html

    mooz
    mooz 2011/05/27
    gdb, .gdbinit
  • perfでぺろぺろしていたら詰まった - くまメモ

    perfという大変優秀なプロファイラがあります。どう優秀かというと ・gprofと違い、-pgなど付けなくとも既存のバイナリに対して実行できます ・バイナリに対して実行できるという事はあらゆる言語の実行を観察できます sudo apt-get install linux-tools まずこれで必要なツールは入ります。 試しに何かのパフォーマンスを見てみましょう $ perf stat ruby -e'100000.times{|n|p n}' 実行にかかったCPUサイクル数、分岐の数、分岐予測ミス数、キャッシュ参照数、キャッシュミス数などがズラズラ出ます。IPCなども計算されてプログラムの性質がわかります。 これでは物足りない人は、自分の好みの通りにセッティングを変えることもできます。 $ perf list で観測可能なモノのリストが表示されるので、その中から好きなものをコンマで繋いで例

    perfでぺろぺろしていたら詰まった - くまメモ
  • 1