# IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]

## 11.6 Compiling, Linking, and Debugging a Runtime-loadable Module

The following sample makefile templates for creating runtime-loadable modules can be found in `/usr/share/dx/samples/user`:

- RISC System/6000* Systems: `Makefile_loadable_ibm6000`
- Silicon Graphics**: `Makefile_loadable_sgi`
- Sun Microsystems**: `Makefile_loadable_solaris`
- Hewlett-Packard**: `Makefile_loadable_hp700`
- DEC Alpha**: `Makefile_loadable_alphax`

The makefile target "loadablelib" is an example of how to make a "library" of runtime-loadable modules. Replace `makex.o`, `add.o`, and `hello.o` with the names of your modules. The makefile target `hello` is an example of how to make an executable containing a single module. See also the files `hello_loadable.mdf` and `user_loadable.mdf`. Starting Data Explorer requires specifying the module description file to the user interface:

    dx  -mdf my.mdf

Note: You can also load a .mdf file after Data Explorer has started. Use the `Load Module Description(s)` option in the `File` pull-down menu of the VPE window.

To debug a module you must first modify the CFLAGS line of the makefile to compile your source code as debuggable (`-g`) rather than optimized (`-O`).

Note: Data Explorer library routines are available only as optimized object code.

To debug a module:

1. Start up just the user interface:

       dx -uionly -mdf yourmdf.mdf

2. Start a debugging session with the `-r` (remote) flag on `/usr/share/dx/bin_workstation/dxexec`.
3. Connect the user interface to the debugging session by selecting `Connect to already running server` in the `Options` dialog box of the `Start Server...` dialog box. You should check the port number specified when you start your executable from the debugging session, and ensure that the port number listed in the `Options` dialog box is the same.
4. Set your breakpoints in the debugger and continue.

   Note: On some architectures it may be necessary to build a module as inboard in order to debug it.

[ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
[Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

[Data Explorer Home Page]

[IBM Home Page | Order | Search | Contact IBM | Legal ]