タグ

C++とdebugに関するWackyのブックマーク (5)

  • DSAS開発者の部屋:Win32 プログラムのデバッグTips (1)

    ■ はじめに ひとつのプログラムを完成させるまでには、多くの場合「デバッグ」という作業が必要です。 まったくバグのないプログラムを一気に書き上げるのは難しいことですから、 プログラミングの際には実行時のエラーを見つけやすくするための工夫が必要ですし、 実際にエラーが発生した場合にはできるだけ手際よく対処したいものです。 デバッグを行う上での最初の目標である「原因の特定」を効率的に行うための ツールや流儀はプラットフォームや使用言語により一様ではありませんが、 ここではネイティブな Windows プログラムをデバッグする上で役に立つ小技をいくつかとり上げてみたいと思います。 今回は、自作のプログラムの実行中にプロセスが異常終了する状況において、 問題箇所を手早く探すための方法のひとつをご紹介します。 記事では Microsoft Visual C++ を開発環境と想定しています。 どうやら

    DSAS開発者の部屋:Win32 プログラムのデバッグTips (1)
  • DLL内マネージコード参照時のデッドロック回避策について - Visual C++/CLI その他 - Visual Studio User Group

    Wacky
    Wacky 2007/02/08
    Visual C++ のデバッガを被デバッグプロセスにアタッチして,アンマネージコードのデバッグも可能なように設定しておくと,アンマネージ関数も含めた完全なスタック履歴が見れる
  • vimrc diary / 2006-02 - なぜメールの後ろに全文引用するのはダメか

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

    Wacky
    Wacky 2006/02/18
    MinUnitは、世界一導入の簡単なC用のUnit Testフレームワークだろう。コードはわずか3行しかない。
  • ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-

    mod_uploaderの作者さんがまとめている開発Tips(http://acapulco.dyndns.org/mod_uploader/module_dev.htm)にあったデバッグ方法を試してみました。 Valgrind http://valgrind.org/ Valgrindはメモリ周りのバグや、スレッド系のバグを自動的に検出してくれるツールです。 インストールは ./configure make make install で完了です。 a.out(-gオプションでコンパイルしてください)のメモリ周りのチェックを行う場合は valgrind --leak-check=yes a.out とやると、こんな結果が出力されてメモリリークしている場所がずばり表示されます。 ==19182== 40 bytes in 1 blocks are definitely lost in los

    ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-
    Wacky
    Wacky 2005/12/31
    mod_uploaderの作者さんがまとめている開発Tips(http://acapulco.dyndns.org/mod_uploader/module_dev.htm)にあったデバッグ方法を試してみました。
  • 普通のやつらの下を行け: BFDでデバッグ情報の取得 - bkブログ

    普通のやつらの下を行け: BFDでデバッグ情報の取得 gcc に -g オプションを与えるとデバッグ情報をバイナリに埋め込むことができます。この情報は通常 gdb などのデバッガによって利用されますが、普通のプログラムでも利用できれば何かおもしろいことができるかもしれません。 普通のやつらの下を行けの第4回として、今回は BFD (libbfd) を用いてデバッグ情報を取得する方法を取り上げたいと思います。 BFD とは BFD (Binary File Descriptor library) は各種バイナリフォーマットに対して低レベルな操作を行うためのライブラリです。 GNU binutils に含まれています。Debian GNU/Linux なら次のコマンドでインストールできます。 % sudo apt-get install binutils-dev ここでは BFD の bfd_

    Wacky
    Wacky 2005/12/04
    BFD (Binary File Descriptor library) は各種バイナリフォーマットに対して低レベルな操作を行うためのライブラリです
  • 1