Speaking very generally, the Linux kernel wisdom on this tends to be, * Compile in as many cheap, compiler-predictable asserts as possible into the production runtime. * Debug builds are of limited value. Users do not recompile software, just to provide better bug reports/diagnostics. * Make it as easy as possible for users to send reports that are useful to programmers. * Expensive diagnostics are fine. Compile in, but disable by default at runtime (and make sure these features, when turned off, do not slow down the system). * Make sure the assert/dump provides a high level of diagnostics. Stack trace of each thread + multi-threaded core dump are a good start.
-- Jeff Garzik Bitcoin core developer and open source evangelist BitPay, Inc. https://bitpay.com/ ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development