Cita:
|
Lo has hecho con el componente TJvDebugHandler? o con las units ExceptLog y MemCheck?
|
Con MemCheck y ExceptLog.
Yo utilizo MemCheck en todos mis proyectos.
Siempre compilo con la opción de "Include TD32 Debug Info" activada y si tras las pruebas sale el informe de errores de memoria, corrijo el código hasta que sea correcto.
Antes de entregarlo al cliente quito la opción de compilacion y quito la unidad MemCheck del proyecto.
Compilo, entrego los binarios y a seguir programando al siguiente versión o a corregir el siguiente bug.
Utilizo mucho try..except y try..finally para que la aplicación informe de errores y siga corriendo correctamente. A veces están anidados y dentro de este bloque se llaman a procedimientos y funciones que también tienen estos bloques.
Pongo breakpoints en varios lugares, pero no pasa en un orden correcto porque se los salta y ejecuta el bloque except o finally.
Cuando ya esta demasiado liado, una erramienta que después de la ejecución te informe de las excepciones por las que ha pasado me ha ayudado enormemente.
Código Delphi
[-]
procedure proc1
begin
try
...
a := 1 / 0; ...
BreakPoint
...
finally
...
end;
end;
procedure proc2
begin
try
Proc1
...
finally
...
end;
end;
procedure Proc3
begin
try
Proc2;
finally
...
end;
end;
begin
try
Proc3;
except
...
end;
end;