2009-06-17 5 views
1

ここでは、xcodeを使ってC++プログラムを作成しています。私はまだgdbを使用する方法を知らないし、あなたはそれをオフにすることができますかどうかわからない(あなたができれば?)ちょうどOpenGLのテクスチャ読み込みコードを追加し、私はそれを私のコンソールプログラムがフリーズする...何が起こっているの?ここでxcode 3.1.2でのGDBの使用 - hook_stopを実行中にエラーが発生しましたか?

はエラーをスローしたコードです:

tex_2d = LoadTextureRAW("texture.raw", 0); 


GLuint LoadTextureRAW(const char * filename, int wrap) 
{ 
GLuint texture; 
int width, height; 

FILE * file; 

// open texture data 
file = fopen(filename, "rb"); 
if (file == NULL) return 0; 

// allocate buffer 
width = 256; 
height = 256; 
unsigned char *data = new unsigned char[256*256*3]; 

// read texture data 
fread(data, width * height * 3, 1, file); 
fclose(file); 

// allocate a texture name 
glGenTextures(1, &texture); 

// select our current texture 
glBindTexture(GL_TEXTURE_2D, texture); 

// select modulate to mix texture with color for shading 
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 

// when texture area is small, bilinear filter the closest mipmap 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
       GL_LINEAR_MIPMAP_NEAREST); 
// when texture area is large, bilinear filter the first mipmap 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

// if wrap is true, the texture wraps over at the edges (repeat) 
//  ... false, the texture ends at the edges (clamp) 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, 
       wrap ? GL_REPEAT : GL_CLAMP); 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, 
       wrap ? GL_REPEAT : GL_CLAMP); 

// build our texture mipmaps 
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height, 
        GL_RGB, GL_UNSIGNED_BYTE, data); 

// free buffer 
free(data); 

return texture; 

}

そしてここでは、コンソール出力です:

Loading program into debugger… 
GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008) 
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-apple-darwin".Program loaded. 
sharedlibrary apply-load-rules all 
Attaching to program: `/Users/development/Desktop/devshit/smallermarkers/build/Debug copy/SimpleAR.app/Contents/MacOS/SimpleAR', process 1674. 
Error while running hook_stop: 
Error while running hook_stop: 

Unable to disassemble glgConvertTo_32<GLGConverter_BGR8_ARGB8, (GLGMemory)2>. 
(gdb) 

私はロードするようにコンパイル済みのライブラリを使用する前に、このエラーに遭遇してきましたテクスチャ、今私は最も単純なルートをしようとしています。誰でも私にこれを手がかりにすることができますか? hook_stopのグーグルは情報の多くを与えるようです:(

答えて

2

定義済みのhook_stopという定義がある場合は、.gdbinitファイルを調べてください。これは名前付きのstopという名前の前に呼び出されます。

20.2ユーザ定義のコマンドフック 特別な種類のユーザ定義コマンドであるフックを定義することができます。コマンド 'foo'を実行するたびに、ユーザ定義コマンド'hook-foo'が存在する場合、そのコマンドの前に引数なしで実行されます。

関連する問題