Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:

The following exist

||<tablewidth="200px">''mrisCheckSurface''||
|| ||
|| ||

Parent: MorphoOptimizationProject

Assertions

Many projects have several levels of assertion-checking macros.

  1. Checks that are too expensive to be coded into the production application, but which can be compiled in by a switch
  2. Checks that are still done in the production application, which crash the application if they fail
  3. Checks that generate a warning message in the production application, but the application continues

Traces

Another common strategy is to have code that can be controlled from the command line that shows in detail the behavior of a subsystem as it executes. The command line support can be very specific about what traces are being emitted.

Consistency Checking

In addition to Assertions, for complex data structures there can be algorithms that check that they are at least consistent. This is especially useful in C code where the data structures are often maintained using inline code rather than calling methods - for instance to add an item to a linked list.

The following exist

mrisCheckSurface

MorphoOptimizationProject_debuggingSupport (last edited 2021-09-22 09:52:04 by DevaniCordero)