Vereis, toy currandme un sistema de octrees para los mapas de mi juego, y en una parte del codigo hago esto:
if (Load(mapfile,dev) == false)
{
Log("ERROR! Loading map file");
return false;
}
else
{
Log("Setting dimensions");
octree->SetDimensions(vertlist,m_numVertex);
Log("Map loaded");
}
Log("Creating Octree");
octree->CreateNode(vertlist,m_numVertex,octree->center,octree->width);
Todos los Log() ke veis salen en el log, excepto el de Error. en cambio, Setdimensions empieza así ...
void W3C_GFX_Octree::SetDimensions(sVERTEX *verts, int numVertices)
{
Log2("sto tira?");
center = D3DXVECTOR3(0,0,0);
width = 5;
y ni sale el Log (pone Log2 pero está bien, tranki). Ni width es = 5 despues de esto. Osea, PASA LITERALMENTE DE ESA FUNCION. Ya digo que todos los logs salen. Y CreateNode se ejecuta, así que no es que esté mal octree. vertices y numVertices están bien, lo he comprobado.
ke pa ke pa ke pacha??!!? o_O
thx
Lo mas facil para saber que te pasa, seria poner un breakpoin en la linea esa de 'octree->SetDimensions(vertlist,m_numVertex);' y cuando se parase, pues meterte dentro pulsando F11 (si usas VisualC).
e puesto un breakpoint yendo a Edit > Breakpoints, en la linea esta, pero realmente esa funcion está en 1 clase, que está como miembro de otra clase. En esa clase grande, hay una funcion, dentro de esta se ejecuta SetDimensions. Y esta clase grande está en una DLL,.. xD tonces en lo kes el exe llamo a claseGrande->Init(); y esta llama a akella.
lo dicho, e añadio el breakpopint, y luego ke ? e ejecutao pero no sa parao ni na, k tengo kacer?
P.d: tengo kaprender a usar el debugger del visual c :
Ombre, si no se ha parado quiere decir que no llega a entrar en la función. Ahora mira si entra en la función desde la que se llama esta función... Claro que tb puedes ir ejecutando Step Overs y Step Intos depende como tengas la llamda. Hay que aprender a debugar... ^_^'
Sync
Debes compilar la aplicación en modo DEBUG, poner el break y ejecutar la aplicación con F5 (ojo, NO con Ctrl+F5)
Compila tambien la DLL en modo DEBUG y se parará donde sea, aunque sea una función de dentro de la DLL...
un saludo