MARINECAT サポート掲示板
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル−−enable−debug オプションをつけないで出来たMakefileをいじってdebugモードで実行してみました。
投稿日: 2006/10/11(Wed) 19:52
投稿者tkco

いじる前

−−ここから−−
CFLAGS = -c $(INC) -O3 -fomit-frame-pointer -ffast-math -funroll-loops -Wall -pipe -DNDEBUG \
-DLAMEPARSE -DLAMESNDFILE \
-DUSE_X86ASM -DUSE_PTHREAD \
$(DEFS)
−−ここまで−−

-g オプションを加え、-DNDEBUGを-DDEBUGに変更しました。
いじった後

−−ここから−−
CFLAGS = -c $(INC) -O3 -g -fomit-frame-pointer -ffast-math -funroll-loops -Wall -pipe -DDEBUG \
-DLAMEPARSE -DLAMESNDFILE \
-DUSE_X86ASM -DUSE_PTHREAD \
$(DEFS)
−−ここまで−−


実行結果のログ

−−ここから−−
[root@hoge petit313]# gdb --arg ./gogo ./venus.wav
GNU gdb Red Hat Linux (6.3.0.0-1.134.fc5rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /home/tkc/temp/petit313/gogo ./venus.wav
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x551000
[Thread debugging using libthread_db enabled]
[New Thread 10234176 (LWP 3525)]
encode ./venus.wav to ./venus.mp3
GOGO-no-coda ver. 3.13 ( May. 20 2004 ) is a mp3 encoder based on lame 3.88,
which is distributed under LGPL on http://www.mp3dev.org/mp3/ .
See http://member.nifty.ne.jp/~pen/ ,
http://homepage1.nifty.com/herumi/gogo_e.html .

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 10234176 (LWP 3525)]
0x08065c28 in lame_init_params () at engine/lame.c:51
51 amp_lowpass[band] = 1;
(gdb) list
46 int band;
47 FLOAT8 freq;
48
49 for (band = 0; band <= 31; band++) {
50 freq = band / 31.0;
51 amp_lowpass[band] = 1;
52 /* this band and above will be zeroed: */
53 if (freq >= lowpass2) {
54 *lowpass_band = Min(*lowpass_band, band);
55 amp_lowpass[band] = 0;
(gdb) bt
#0 0x08065c28 in lame_init_params () at engine/lame.c:51
#1 0xbfd8a470 in ?? ()
(gdb) quit
The program is running. Exit anyway? (y or n) y
[root@hoge petit313]#
−−ここまで−−

gdbってgdbモードに入ってrunコマンド実行しないとプログラム実行されないんですねwホント何も知らなくてご迷惑おかけします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
代理サーバー経由のアクセスか、アクセス制限されたホストからのアクセスを検出しました。投稿できません