Ddbg 0.0.4 alpha release

Jascha Wetzel "[firstname]" at mainia.de
Thu Mar 8 04:46:10 PST 2007


there is also a problem with Tango in Ddbg prior to 0.0.4.4, which i've
just put on the website.

To enable Ddbg to catch unhandled exceptions in Tango applications, you
need to rebuild Tango's phobos.lib after changing
in tango\lib\compiler\dmd\dmain2.d, currently line 83
bool trapException = true;
to
extern(C) bool trapException = true;

Here is why:
With the default exception handler in dmain2.d enabled, Win32 will not
report unhandled exceptions to the debugger.
To not require the author of the debuggee to manually change this, just
to be able to use the debugger for stack traces, Ddbg changes the value
of no_catch_exceptions in standard Phobos to true and trapException to
false before running the debuggee.
However, the latter is only possible, if the address of that variable is
exported.


Sean Kelly wrote:
> Jascha Wetzel wrote:
>> Ddbg is a Win32 D Debugger
>>
>> http://ddbg.mainia.de/releases.html
>>
>> This release mainly adds support for type cast and associative arrays.
>> Type casts can be used to workaround the missing array and enum support
>> in DMD's debug symbols.
> 
> A few things so far.  The final example may actually be a problem with
> rebuild, but I thought I'd include it anyway.
> 
> ======================================================================
> 
> C:\code\src\d\test>ddbg test.exe
> Ddbg v0.0.4.3 alpha - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> http://ddbg.mainia.de/
> 
> ->dr
> 
> 
> ----------------------------------------
> Unhandled exception in Ddbg v0.0.4.3 alpha:
> Access Violation
> 
> Please report this problem!
> See the http://ddbg.mainia.de/releases.html for details.
> Thank you!
> 
> C:\code\src\d\test>
> C:\code\src\d\test>
> C:\code\src\d\test>
> C:\code\src\d\test>ddbg test.exe
> Ddbg v0.0.4.3 alpha - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> http://ddbg.mainia.de/
> 
> ->ds
> 
> 
> ----------------------------------------
> Unhandled exception in Ddbg v0.0.4.3 alpha:
> Access Violation
> 
> Please report this problem!
> See the http://ddbg.mainia.de/releases.html for details.
> Thank you!
> 
> ======================================================================
> 
> 
> C:\code\src\d\test>cat test.d
> import tango.util.collection.LinkSeq;
> import tango.stdc.stdio;
> 
> LinkSeq!(C) cont;
> 
> static this()
> {
>     cont = new LinkSeq!(C);
> }
> 
> class C
> {
>     int x;
> }
> 
> void main()
> {
>     printf( "hello\n" );
> }
> 
> C:\code\src\d\test>rebuild -g test
> c:\bin\dmd\bin\..\..\dm\bin\link.exe
> .\test+.\tango-util-collection-LinkSeq+.\ta
> ngo-util-collection-model-Iterator+.\tango-util-collection-model-Sortable+.\tang
> 
> o-util-collection-model-Dispenser+.\tango-util-collection-model-View+.\tango-uti
> 
> l-collection-model-GuardIterator+.\tango-util-collection-model-Comparator+.\tang
> 
> o-util-collection-impl-LLCell+.\tango-util-collection-impl-Cell+.\tango-util-col
> 
> lection-impl-SeqCollection+.\tango-util-collection-model-Seq+.\tango-util-collec
> 
> tion-model-SeqView+.\tango-util-collection-impl-Collection+.\tango-io-protocol-m
> 
> odel-IReader+.\tango-io-model-IBuffer+.\tango-io-model-IConduit+.\tango-io-proto
> 
> col-model-IProtocol+.\tango-io-protocol-model-IWriter+.\tango-util-collection-im
> 
> pl-AbstractIterator+.\tango-stdc-stdio+.\tango-stdc-stdarg+.\tango-stdc-stddef+.
> 
> \tango-stdc-config,test.exe,,user32+kernel32/noi;
> 
> C:\code\src\d\test>ddbg test.exe
> Ddbg v0.0.4.3 alpha - D Debugger
> Copyright (c) 2007 Jascha Wetzel
> http://ddbg.mainia.de/
> 
> 
> 
> ----------------------------------------
> Unhandled exception in Ddbg v0.0.4.3 alpha:
> No symbolic debug info present (no debugging symbols found), try
> compiling and l
> inking with -g
> 
> Please report this problem!
> See the http://ddbg.mainia.de/releases.html for details.
> Thank you!
> 
> C:\code\src\d\test>



More information about the Digitalmars-d-announce mailing list