fedora12 でコンパイルは通るのでが、「セグメンテーション違反です」(コアダンプ)を吐きます。そこで memwatch を使おうとしたのですが、
memwatch 使い方がわかりません。英語が得意ではないです。
IBMの http://www.ibm.com/developerworks/jp/li ... y/l-debug/ に使い方がありますが、
「gccのコマンド・ラインでMEMWATCHを定義するだけで」とありますが、どうやって定義するのでしょうか?
このページにあるコマンドのとおりに入力しても、作者から define しろ と言われます。ディレクトリを定義しろと言ってるんでしょうか?
よろしくお願いいたします。
memwatch の使い方
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: memwatch の使い方
正確な打ち込んだコマンドとエラーメッセージをお願いします。初心者 さんが書きました:fedora12 でコンパイルは通るのでが、「セグメンテーション違反です」(コアダンプ)を吐きます。そこで memwatch を使おうとしたのですが、
memwatch 使い方がわかりません。英語が得意ではないです。
IBMの http://www.ibm.com/developerworks/jp/li ... y/l-debug/ に使い方がありますが、
「gccのコマンド・ラインでMEMWATCHを定義するだけで」とありますが、どうやって定義するのでしょうか?
このページにあるコマンドのとおりに入力しても、作者から define しろ と言われます。ディレクトリを定義しろと言ってるんでしょうか?
よろしくお願いいたします。
日頃から、gccはコマンドラインから使っているんですよね?
それとmemwatchのライブラリは入手済みですか?
※ gcc系は英語での情報が重要ですから、あまり苦手とも言っていられないと思いますが。翻訳サイトなどの手伝いでも借りて読めるようになったほうが無難です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
初心者
Re: memwatch の使い方
返信ありがとうございます。
まず、http://www.linkdata.se/ に行き、右側の source code - memwatch に行き、Download memwatch 2.71 (zip)をダウンロードしました。この中を ~/ に展開しました。ここで、 /home/xxx/ には、
README FAQ USING memwatch.c memwatch.h memwatch.lsm test.c
があります。
この状態で、端末に、
gcc -DMEMWATCH -DMW_STUDIO test.c memwatch.c -o test
と入力したところ、
test.c:42:2 error: #error "Define MW_STDIO and try again, please."
test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!"
と出力されます。
define しなければならないということはわかるんですが、自分で直接ヘッダーに
#define MW_STDIO ???
と書くのですか? ??? を何にすればいいんでしょうか。
英語は、英検2級もってますが、多分、読解力が足りないのでしょう。意味はわかるんですが、この define を ナント定義すればいいかわかりません。
よろしくお願いいたします。
まず、http://www.linkdata.se/ に行き、右側の source code - memwatch に行き、Download memwatch 2.71 (zip)をダウンロードしました。この中を ~/ に展開しました。ここで、 /home/xxx/ には、
README FAQ USING memwatch.c memwatch.h memwatch.lsm test.c
があります。
この状態で、端末に、
gcc -DMEMWATCH -DMW_STUDIO test.c memwatch.c -o test
と入力したところ、
test.c:42:2 error: #error "Define MW_STDIO and try again, please."
test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!"
と出力されます。
define しなければならないということはわかるんですが、自分で直接ヘッダーに
#define MW_STDIO ???
と書くのですか? ??? を何にすればいいんでしょうか。
英語は、英検2級もってますが、多分、読解力が足りないのでしょう。意味はわかるんですが、この define を ナント定義すればいいかわかりません。
よろしくお願いいたします。
-
初心者
Re: memwatch の使い方
追伸です。
コンパイルは、独自の形式でして、いつもは、shell(cpile.sh, gcc が組み込んであります) でコンパイルしていますので、
gcc を直接入力することはあまりありません。
コンパイルは、独自の形式でして、いつもは、shell(cpile.sh, gcc が組み込んであります) でコンパイルしていますので、
gcc を直接入力することはあまりありません。
Re: memwatch の使い方
エラーメッセージ通りでは?
× -DMW_STUDIO
○ -DMW_STDIO
これで試すとどうなります?
× -DMW_STUDIO
○ -DMW_STDIO
これで試すとどうなります?
-
初心者
Re: memwatch の使い方
ぽこ さん 返信どうもありがとうございます。
いや~、恥ずかしいです。
test.c:42:2 error: #error "Define MW_STDIO and try again, please." は消えて出なくなりました
ただ、
test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!" は依然として出ます。
いや~、恥ずかしいです。
test.c:42:2 error: #error "Define MW_STDIO and try again, please." は消えて出なくなりました
ただ、
test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!" は依然として出ます。
Re: memwatch の使い方
> ただ、
> test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!" は依然として出ます。
ソースをみました。
これがtest.cの116行目のエラーだということは分かりますか?
115行目には何が書いてあるか分かりますか?
#と、あえてピンポイントの答えはしません^^
> test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!" は依然として出ます。
ソースをみました。
これがtest.cの116行目のエラーだということは分かりますか?
115行目には何が書いてあるか分かりますか?
#と、あえてピンポイントの答えはしません^^
-
初心者
Re: memwatch の使い方
ぽこさん、返信ありがとうございます。
ということは、必ず出てくるものなんですね・・・
永遠にコンパイルされませんね。
もう、恥ずかしい気持ちでいっぱいです。
IBM のページは、この test.c ではなく、上にある test1.c をコンパイルしてたんですね。
てっきりこの test.c をコンパイルしているものと、思い込んでて・・・
恥ずかしいのでもう寝ます。
みなさん、ありがとうございました。このスレッドは、なかったことにしてください。
ということは、必ず出てくるものなんですね・・・
永遠にコンパイルされませんね。
もう、恥ずかしい気持ちでいっぱいです。
IBM のページは、この test.c ではなく、上にある test1.c をコンパイルしてたんですね。
てっきりこの test.c をコンパイルしているものと、思い込んでて・・・
恥ずかしいのでもう寝ます。
みなさん、ありがとうございました。このスレッドは、なかったことにしてください。