Walter Bright <newshou...@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.