ページ 11

memwatch の使い方

Posted: 2011年2月16日(水) 18:12
by 初心者
fedora12 でコンパイルは通るのでが、「セグメンテーション違反です」(コアダンプ)を吐きます。そこで memwatch を使おうとしたのですが、
memwatch 使い方がわかりません。英語が得意ではないです。
IBMの http://www.ibm.com/developerworks/jp/li ... y/l-debug/ に使い方がありますが、

「gccのコマンド・ラインでMEMWATCHを定義するだけで」とありますが、どうやって定義するのでしょうか?

このページにあるコマンドのとおりに入力しても、作者から define しろ と言われます。ディレクトリを定義しろと言ってるんでしょうか?

よろしくお願いいたします。

Re: memwatch の使い方

Posted: 2011年2月16日(水) 18:46
by softya(ソフト屋)
初心者 さんが書きました:fedora12 でコンパイルは通るのでが、「セグメンテーション違反です」(コアダンプ)を吐きます。そこで memwatch を使おうとしたのですが、
memwatch 使い方がわかりません。英語が得意ではないです。
IBMの http://www.ibm.com/developerworks/jp/li ... y/l-debug/ に使い方がありますが、
「gccのコマンド・ラインでMEMWATCHを定義するだけで」とありますが、どうやって定義するのでしょうか?
このページにあるコマンドのとおりに入力しても、作者から define しろ と言われます。ディレクトリを定義しろと言ってるんでしょうか?
よろしくお願いいたします。
正確な打ち込んだコマンドとエラーメッセージをお願いします。
日頃から、gccはコマンドラインから使っているんですよね?
それとmemwatchのライブラリは入手済みですか?

※ gcc系は英語での情報が重要ですから、あまり苦手とも言っていられないと思いますが。翻訳サイトなどの手伝いでも借りて読めるようになったほうが無難です。

Re: memwatch の使い方

Posted: 2011年2月16日(水) 19:20
by 初心者
返信ありがとうございます。

まず、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 の使い方

Posted: 2011年2月16日(水) 19:28
by 初心者
追伸です。
コンパイルは、独自の形式でして、いつもは、shell(cpile.sh, gcc が組み込んであります) でコンパイルしていますので、
gcc を直接入力することはあまりありません。

Re: memwatch の使い方

Posted: 2011年2月16日(水) 20:27
by Poco
エラーメッセージ通りでは?
× -DMW_STUDIO
○ -DMW_STDIO

これで試すとどうなります?

Re: memwatch の使い方

Posted: 2011年2月16日(水) 20:58
by 初心者
ぽこ さん 返信どうもありがとうございます。
いや~、恥ずかしいです。
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 の使い方

Posted: 2011年2月16日(水) 21:13
by Poco
> ただ、
> test.c:116:2: error #error "Hey! Don't just compile this program, read the comments first!" は依然として出ます。

ソースをみました。
これがtest.cの116行目のエラーだということは分かりますか?
115行目には何が書いてあるか分かりますか?

#と、あえてピンポイントの答えはしません^^

Re: memwatch の使い方

Posted: 2011年2月16日(水) 21:29
by 初心者
ぽこさん、返信ありがとうございます。

ということは、必ず出てくるものなんですね・・・
永遠にコンパイルされませんね。
もう、恥ずかしい気持ちでいっぱいです。

IBM のページは、この test.c ではなく、上にある test1.c をコンパイルしてたんですね。
てっきりこの test.c をコンパイルしているものと、思い込んでて・・・

恥ずかしいのでもう寝ます。
みなさん、ありがとうございました。このスレッドは、なかったことにしてください。