NotNull pointers

kennytm kennytm at gmail.com
Wed Aug 31 13:52:08 PDT 2011


Walter Bright <newshound2 at digitalmars.com> wrote:

> You might be surprised, then, that I'll often temporarily replace an
> assert with a HLT instruction so I can use a debugger on it :-)

> It's also possible for the program to have its own seg fault handler that
> reads its own symbolic debug info and generates a line number and stack
> trace. There was a patch to Phobos that did this a while back.
> 
> Optlink's register dump on a seg fault is not Windows' doing, it installs
> a seg fault handler which does this.

Please stop caring only about Windows. In Mac OS X because of the broken
dSYM and the ancient gdb (having no D support) supplied by Xcode, it's
almost impossible to get any valuable information - in particular the
__FILE__ and __LINE__ - from the debugger. 

> 15 bytes. And yes, this stuff adds up surprisingly quickly, especially if
> you're the type that wants to leave the asserts on even in release mode.

Then you should just kill D's RTTI, the TypeInfos from the unused template
instances pile up at a much faster rate. 15 bytes mean nothing then the
executable size is already in megabytes. Also, the proposal only affects
asserts of the form

    assert(classObj);

all other asserts won't have those extra 15 bytes. I believe you're
strongly exaggerating, and I'd challenge you to compile Phobos with and
without the patch and compare if the size is really bloated a lot.


More information about the Digitalmars-d mailing list