I've tried sometimes to do directly with the -gl and the BackTraceStrFunc and i never was able to get the info of the error, maybe my fault. With this units that i've passed i was able to get the info of the error with the line number and everything else within the app.<br>
<br><div class="gmail_quote">2012/2/20 Martin <span dir="ltr"><<a href="mailto:lazarus@mfriebe.de">lazarus@mfriebe.de</a>></span><br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
<div class="im">On 20/02/2012 14:58, leledumbo wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
I want to log the full runtime-error/exception backtrace to a file. I've<br>
tried all methods explained<br>
<a href="http://wiki.lazarus.freepascal.org/Logging_exceptions" target="_blank">http://wiki.lazarus.<u></u>freepascal.org/Logging_<u></u>exceptions</a> here  but none seems<br>
to give the full backtrace. i.e. when compiled with -gl, instead of just the<br>
address, I could also get "line NN of file XX.pas". How could I do it?<br>
<br>
</blockquote>
<br></div>
If you ship with debug info, then see gdbmidebugger.pp<br>
  function TGDBMIDebuggerCommand.Execute: Boolean;<br>
<br>
        Report :=  BackTraceStrFunc(ExceptAddr);<br>
        Report2 := Report;<br>
        Frames := ExceptFrames;<br>
        for I := 0 to ExceptFrameCount - 1 do begin<br>
          Report := Report + LineEnding + BackTraceStrFunc(Frames[I]);<br>
          if i < 5<br>
          then Report2 := Report;<br>
        end;<br>
<br>
-------<br>
<br>
If you do not want to ship with debug info:<br>
<br>
- compile with debug info<br>
- keep a copy of the file with debug info<br>
- use strip[.exe] to remove  the debug info from shipping version<br>
- dump addresses<br>
<br>
when you get the addresses, you can use gdb and the copy with debug info that you kept (must match 100% the shipped version)<br>
<br>
you will need a smass script calling gdb for each address<br>
<br>
<br>
gdb.exe -i mi project1.exe  --eval-command="info line *0x428f60"  --eval-command=q<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
______________________________<u></u>_________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.<u></u>org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/<u></u>mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Everton Vieira.<br>