1. A method for automatically diagnosing errors in a software system that is executing in a particular address space, the method comprising the computer-implemented steps of: automatically determining, by said same software system that is executing in the particular address space, whether conditions associated with said same software system warrant use of any diagnostic features that are not currently enabled; when said same software system determines that the conditions associated with said same software system warrant use of any diagnostic features that are not currently enabled, said same software system determining which of a plurality of available diagnostic features should be enabled; and enabling one or more diagnostics features that said same software system determined should be enabled; wherein the steps of the method are performed by one or more computing devices on which said same software system is executing.