October 10, 2010 Re: D 2.0 Stacktrace | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benjamin Thaut | On Wed, 06 Oct 2010 15:50:25 +0400, Benjamin Thaut <code@benjamin-thaut.de> wrote:
> I wrote a small piece of sourcecode that generates stacktraces in D 2.0 under
> windows. It works both with the pdb and cv debug symbol format. For Exceptions
> that are derived from the Error class the trace information is automatically
> appended, this causes all builtin D errors to get a stacktrace information.
> The only point where this does not work is the Access Vioaltion error, as it
> does not call the stacktrace callback function for some reason.
>
> It is very easy to use, just copy the two files from the zip archive to your
> root source directory and import the stacktrace module inside your main file.
> For more informaiton and the download go to:
> http://3d.benjamin-thaut.de
>
> Let me know what you think.
>
> Kind Regards
> Benjamin Thaut
I noticed your stacktraces should symbols but no file name/line numbers.
I've sent another Stacktracer implementation to Phobos mailing list recently that primarily shows file name/line number while manually parsing .map file for symbolic info and shows none if .map file is absent. That was being criticized, and I agree with it. It also doesn't depend on dbghelp.dll and is able to show sane results even when the said .dll is missing.
I think we could merge our projects, taking advantages from both. What do you think?
|
October 11, 2010 Re: D 2.0 Stacktrace | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Koroskin | Am 10.10.2010 21:31, schrieb Denis Koroskin: > On Wed, 06 Oct 2010 15:50:25 +0400, Benjamin Thaut > <code@benjamin-thaut.de> wrote: > >> I wrote a small piece of sourcecode that generates stacktraces in D >> 2.0 under >> windows. It works both with the pdb and cv debug symbol format. For >> Exceptions >> that are derived from the Error class the trace information is >> automatically >> appended, this causes all builtin D errors to get a stacktrace >> information. >> The only point where this does not work is the Access Vioaltion error, >> as it >> does not call the stacktrace callback function for some reason. >> >> It is very easy to use, just copy the two files from the zip archive >> to your >> root source directory and import the stacktrace module inside your >> main file. >> For more informaiton and the download go to: >> http://3d.benjamin-thaut.de >> >> Let me know what you think. >> >> Kind Regards >> Benjamin Thaut > > I noticed your stacktraces should symbols but no file name/line numbers. > > I've sent another Stacktracer implementation to Phobos mailing list > recently that primarily shows file name/line number while manually > parsing .map file for symbolic info and shows none if .map file is > absent. That was being criticized, and I agree with it. It also doesn't > depend on dbghelp.dll and is able to show sane results even when the > said .dll is missing. > > I think we could merge our projects, taking advantages from both. What > do you think? My stackwalker does show filenames and line numbers but you need to compile with -g -debug so that there is line/file information in the symbols. If you look at the example stacktrace at http://3d.benjamin-thaut.de/?p=15 you can see filenames and line numbers -- Kind Regards Benjamin Thaut |
October 11, 2010 Re: D 2.0 Stacktrace | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly Wrote:
> Pretty slick. I've been thinking about generating traces when the throw occurs instead of when the exception is constructed, and this change allows that as well. I'll add it to the queue.
Then may be we should have Throwable.OnThrow function? One can make a good use of it. For example what if I want to do custom logging on throw?
|
Copyright © 1999-2021 by the D Language Foundation