Initializing help system before first use

Debugging modules

Since modules are loaded dynamically by Mosel, it may be difficult to use a debugger for analysing the behaviour of the program. A work around consists in compiling the module as part of a simple program (static module) that initialises Mosel then executes a model (using the embeded module to debug). A debugger can be used on this program to trace the operation of the module which is not loaded dynamically any more.

Example: the following program can be used to debug the module `mymodule'.

 #include <stdlib.h>
 #include "xprm_mc.h"

 #include "mymodule.c"              /* Include the source of the module */

 int main()
 {
  int rts;

  XPRMinit();                       /* Declare the module as static */
  XPRMregstatdso("mymodule",mymodule_init);
                                    /* Execute a test model */
  XPRMexecmod("g","mymodule_test",NULL,&rts,NULL);
  return rts;
 }

The program source dsodbg.c provided with the NI examples can be used as a shell for debugging modules.