私は、Valgrindプラグインを使用してUbuntu 12.04でEclipse IDEを実行しています。私はかなりの時間のC + +でゲームに取り組んできた、と私はどこかにメモリエラーがあるようだ。通常、私はValgrindでこれらをトレースします。しかし、valgrindを実行するとglutが初期化されません。私はvalgrindを使用していないときにゲームを問題なく初期化することに注意する必要があります。次のように私の主な機能のためのコードは次のとおりです。フリーグルートがvalgrindで表示を開けません
はint main(int argc, char** argv) {
char windowTitle[12] = "Game Window";
printf("Initializing Glut...\n");
glutInit(&argc, argv);
printf("Glut initialized!\n");
alutInit(&argc, argv);
Game_Object* game = new Game_Object(windowTitle, 1200, 675, argc, argv);
delete game;
printf("game ended\n");
return 0;
}
コンソールへの出力結果は次のとおりです。
Initializing Glut
freeglut (/home/dsnettleton/Documents/Programming/Eclipse/workspace/Plutoids/Debug/Plutoids): failed to open display ''
もちろん、プログラムは非常に遠くvalgrindのランニングで取得されていません。 私の開発の最終段階に入るのは本当に心配です。メモリエラーを除外しようとしているだけです。何が初期化を止めてしまうのでしょうか?問題を解決するために何ができるでしょうか?
なく、あなたの問題への本当の答え、しかし:あなたはBoehm_CGのようなメモリデバッグのために、ガベージコレクタを使用してみました。 Mozillaはこれをまさにこの目的のために使用しています。 http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html – datenwolf
私はそれを試しましたが、それは私にコンソールに追加の出力を与えていません。私は問題がそれ自体が漏れだとは思わない。おそらく無効なポインタに関連しているか、おそらくどこかで何らかのメモリを二重に解放しているかもしれません(プログラムを終了すると、二重リンクのメッセージが破損してクラッシュします)。 – dsnettleton