タグ

2009年とdebugに関するItisangoのブックマーク (1)

  • Cygwinのstackdumpファイル - hat-tunの日記

    win*Cygwin*gccの環境でC言語プログラムをgdbでデバグする。(ビルド時-gオプション必須) 来セグメンテーションエラーが出ると、gccはcoreファイルというものを吐き、 こいつをgdbわせることで、バグの起きた箇所を探れるというわけなんですが、 Cygwin環境では、このcoreファイルが吐かれず、 代わりに、エラー時のCPUレジスタ値、関数スタック値などが数行かかれた、 stackdumpファイルというものが生成されます。 こいつは、coreファイルに比べ圧倒的にデバグ情報が少なく、gdbわせることもできません。 が、頑張ればスタックを逆アセンブルして、バグ箇所を特定できたりするというお話。 まず、gdbでプログラムを起動(run)し、main関数でbraekする。 gdb [execute file] (gdb) break main (gdb) run そこ

    Cygwinのstackdumpファイル - hat-tunの日記
    Itisango
    Itisango 2013/04/20
    #Cygwin で #core を吐かせるには #環境変数 #CYGWIN に #error_start=dumper という変数を設定する。 #あとで試す 。
  • 1