Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
StackTrace

Hola a todos, muchos de nosotros nos hemos preguntado como obtener el StackTrace en Lazarus para poder dar con el fragmento de código que nos genera excepciones, que a veces son muy difíciles de encontrar, para eso, les dejo una función que nos ayuda con esta tarea:
Código Delphi [-]
function TForm1.DumpExceptionCallStack(E: Exception):String;
var
  I: Integer;
  Frames: PPointer;
  Report: string;
begin
  Report := 'Program exception! ' + LineEnding +
    'Stacktrace:' + LineEnding + LineEnding;
  if E <> nil then begin
    Report := Report + 'Exception class: ' + E.ClassName + LineEnding +
    'Message: ' + E.Message + LineEnding;
  end;
  Report := Report + BackTraceStrFunc(ExceptAddr);
  Frames := ExceptFrames;
  for I := 0 to ExceptFrameCount - 1 do
    Report := Report + LineEnding + BackTraceStrFunc(Frames[i]);
  Result := Report;
end;

Se usa de la siguiente forma:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
  number,I: Integer;
begin
  Try
    number := StrToInt('A');
  except
    on E : Exception do
    Begin
      ShowMessage(E.ClassName + ' error raised, with message : ' + E.Message
      + DumpExceptionCallStack(E));
    End;
  end;
end;
Se debe incluir la Unidad LCLProc, del paquete LCL, espero que les sirva de algo.

Saludos.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #2  
Antiguo 09-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Gracias por la información.

Y recuerda poner títulos descriptivos
Responder Con Cita
  #3  
Antiguo 09-06-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Talking

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y recuerda poner títulos descriptivos
Tienes razón Casimiro, la verdad se me pasó.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:02:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi