ページ 11

メモリリークやメモリ破壊について

Posted: 2015年6月07日(日) 22:00
by Aozora0630
今、作っているゲームでとても困ったことになりましたので相談させていただきます。

PCハッキングのシミュレート3Dゲームを作っているのですが、それの途中の何処かでメモリリーク又はメモリ破壊が起きてしまっているみたいなのですが、メモリリークやメモリ破壊を動的に検出してくれるツールはありませんでしょうか?

配列をVectorに置換すればと思ったのですが、気づいたときにはソースが大規模になっていて手遅れでした。

因みにCppCheckは無反応でした。

コンパイラ : bcc32
言語 : C++
OS : XP
ライブラリ : DxLib
► スポイラーを表示

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 00:18
by Rittai_3D
前にも書きましたが、スマートポインタを使ったらどうでしょうか。
スマートポインタを使えばメモリリークは(変なことをしなければ)防げますよ。

あちらで、nullptrさんがおっしゃっておりましたが、メモリダンプは根本的な解決になりません。

メモリ破壊は配列の添え字を入念にチェックするくらいしか防ぎようが無い気がします。

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 00:23
by たいちう
仕事でC++を使っていたのは5年程前までですが、
その頃にはそのようなツールは大変高価なものでした。
今はフリーで適当なのがあるかもしれませんが、
メモリリークならば、普通にデバッグできないことが問題です。

Aozora0630さんの質問や他の質問者への回答を見て感じるのは、
かなり基本を疎かにしているようだな、ということです。
あちこちからソースコードをコピーして、うまくつなぎ合わせれば、
そこそこのものができ上がるかもしれませんが、
基本を身に付けておかないと、先に進めなくなる時が必ず来ます。

ツールにできることは、必ずプログラマにも可能です。
よい機会なので、じっくりとデバッグをしてみてはどうですか?


> ソースをアップロードして確認してもらうって丸投げになるんでしょうか?

数十行程度のプログラムでないなら、私は丸投げと思います。
じっくり考えてもどうしたらよいのか、見当もつかない場合は、再度質問してください。
オフトピック
サイト拝見しました。

> こんな感じです。デバッグとかはしてないので恐らくエラーがあると思います。

↑のような記述は、掲示板の回答でも見かけましたが、もっと丁寧に扱いましょうよ。
「サンプルなんだから間違っててもいいや」というのは、
「プログラムは動けばいいや」という考えと通じているのではないでしょうか。

サイト自体は、非常に野心的で精力的と感じました。
上述したことに気を付けて今の熱意を継続できるならば、
短期間で目覚ましく上達し、ゲームもサイトも良いものになると思います。
頑張ってください。

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 07:15
by Aozora0630
たいちう さんが書きました:Aozora0630さんの質問や他の質問者への回答を見て感じるのは、
~~~~~~~~~~~~~~~~~~~~~~~~~
基本を身に付けておかないと、先に進めなくなる時が必ず来ます。

ツールにできることは、必ずプログラマにも可能です。
よい機会なので、じっくりとデバッグをしてみてはどうですか?
~~~~~~~~~~~~~~~~~~~~~~~~~~
オフトピック
サイト拝見しました。

> こんな感じです。デバッグとかはしてないので恐らくエラーがあると思います。

↑のような記述は、掲示板の回答でも見かけましたが、もっと丁寧に扱いましょうよ。
「サンプルなんだから間違っててもいいや」というのは、
「プログラムは動けばいいや」という考えと通じているのではないでしょうか。

サイト自体は、非常に野心的で精力的と感じました。
上述したことに気を付けて今の熱意を継続できるならば、
短期間で目覚ましく上達し、ゲームもサイトも良いものになると思います。
頑張ってください。
>ツールにできることは、必ずプログラマにも可能です。
>よい機会なので、じっくりとデバッグをしてみてはどうですか?
そうですね・・・・。がんばってみます。

>↑のような記述は、掲示板の回答でも見かけましたが、もっと丁寧に扱いましょうよ。
すみません・・・。
► スポイラーを表示
少なくともサイトのほうはコンパイルも出来るので気をつけます。

たいちうさん、ありがとう御座いました。
Rittai_3D さんが書きました:前にも書きましたが、スマートポインタを使ったらどうでしょうか。
スマートポインタを使えばメモリリークは(変なことをしなければ)防げますよ。

あちらで、nullptrさんがおっしゃっておりましたが、メモリダンプは根本的な解決になりません。

メモリ破壊は配列の添え字を入念にチェックするくらいしか防ぎようが無い気がします。
そうですか・・・、自分でデバッグをして見ます。

Rittai_3Dさん、ありがとう御座いました。

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 08:49
by みけCAT
オフトピック
Aozora0630 さんが書きました:ブラウザとコンパイラとメモ帳立ち上げるとPCがががががが・・・・。
なんでメモ帳だけ具体的なソフト名なんだろう…?縛りプレイアピールかな?宗教戦争かな?

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 13:28
by dic
bcc32でスマートポインタ使えるのですかね?
bcc32さわったことのない人の話です。

http://d.hatena.ne.jp/A7M/touch/20110701/1309499043

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 17:01
by Aozora0630
みけCAT さんが書きました:
オフトピック
Aozora0630 さんが書きました:ブラウザとコンパイラとメモ帳立ち上げるとPCがががががが・・・・。
なんでメモ帳だけ具体的なソフト名なんだろう…?縛りプレイアピールかな?宗教戦争かな?
オフトピック
え、いや、その、・・・。
別に縛ってはいませんが・・・。エディタって言ったらそりゃ重いだろって言われそうなんで・・・・。
じゃあ、全部具体的に・・・。
Operaとメモ帳とbcc32を立ち上げると(ry

Re: メモリリークやメモリ破壊について

Posted: 2015年6月08日(月) 22:00
by Aozora0630
自力でデバッグをしたら解決しました。

ありがとう御座いました。