So-net無料ブログ作成

マクロ展開後のコードを出力するには? [C/C++]

C/C++ のデバッグ関係のメモ。

マクロ展開後のコードを出力するには?

gcc -E hoge.c

assertを無効にするには?

#define NDEBUG
#include <assert.h>

とする。

ちなみに、

(static_cast<void>  (0)) ;

に置換された。

segmentation fault したときに core を生成させるには?

プログラムが異常終了した場合、 Segmantation falt する。しかし、 core dumped しない環境がある。これは、core の出力が制限されている可能性がある。

ulimit -c unlimited

とすると、core が全て出力される。大きくなりすぎるで、適当に容量制限を付けても良い。 0 になっていると core が出力されない。

gdb

gcc で -g,-ggdb オプションを CFLAGS につけてコンパイルする。

参考文献


タグ:linux C++ C Debug gcc

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。