ich versuch gerade (immer noch :) ) den Render-code aus dem assimp-viewer in eine eigene Library, bzw. erstmal eigene Klassen auszulagern. Das sieht auch schon ganz gut aus, nur die Release-Version stürzt leider ab, mit "access violation writing location 0x0000000". Hier mal der CallStack beim Crash, falls es was nützt:
- memcpy(unsigned char * dst=0x00000000, unsigned char * src=0x08c66610, unsigned long count=16) ASM
- _aiGetMaterialFloatArray() + 0x1cd bytes C++
- _aiGetMaterialColor() + 0x23 bytes C++
- AssimpRendererD3d::CMaterialManager::CreateMaterial(AssimpRendererD3d::AssetHelper::MeshHelper ...) C++
- ...
Jetzt die Frage: Wie debuggt man sowas ? Ich kann nur bedingt durchsteppen, da wo's interessant wird, seh ich dann nichts mehr. Was mir aufgefallen ist: Ich kann erstens nicht mehr überall breakpoints setzen. Manche markiert er dann im sourcecode als durchsichtig, mit dem balloon tip "this breakpoint will not be hit. Invalid file". Andere breakpoints in der selben Methode akzeptiert er dagegen problemlos. Ich hab noch keine Gesetzmäßigkeit erkannt, wovon das abhängt.
zweitens: er crasht anscheinend innerhalb der folgenden for-schleife:
Code: Alles auswählen
for (unsigned int meshIndex = 0; meshIndex < pScene->mNumMeshes; ++meshIndex)
{
...
}
Fragen über Fragen, ich hoff ich könnt mir helfen!
Vielen Dank für eure Zeit,
andy / ponx