Chapter 1: Introduction Organization Chapter 2: Quality Ensurance Lies, damned lies, and… statistics Today Test early, test often But… I have a test team “Houston, we have a problem.” Debugging during development Debugging test versions Debugging in post-release or maintenance Designing with diagnostics in mind When are you done debugging? Risk Measure twice, cut once Bug tracking Source code control Irreverent evangelizing The best offense is a strong defense Chapter 3: Applying the Scientific Method to Debugging Observation Inquiry Hypothesis Prediction Experimentation Analysis Decision Conclusion Chapter 4: Visual FoxPro Debugging Tools Debug options Font and colors Display timer events Environment Call stack options Trace window options Output window options The native debugger About the debug output window About the call stack About the trace window About the watch window About the locals window About breakpoints About configuration files Debugger odds and ends: Stepping, resume, cancel Coverage logging Event tracking Language elements Error handling Using views Syntax coloring and IntelliSense Rushmore optimization—SYS(3054) The command window The Help file Tools outside of Visual FoxPro Understanding the tool Chapter 5: A Taxonomy of Common Visual FoxPro Bugs Requirement-related bugs Exceptions to business rules The technique Design-related bugs Misunderstandings Conflicts Omissions The technique Characteristics Variant variables Implicit variable declaration Comparison and assignment are the same (“=”) Multiple RETURN statements Optional parameters Ambiguous fields, memory variables, and objects Implementation bugs Syntax bugs Logical bugs Performance Data performance Code System bugs The technique Deployment Maintenance bugs Effective debugging Conclusion Chapter 6: Fitting into Enterprise Solutions Using ActiveX and OLE controls Using Automation servers Building Automation servers Windows API Conclusion Appendix A: Additional Resources Visual FoxPro books Debugging and good coding practices Requirements gathering and design Web resources