The Informix-4GL Interactive Debugger (ID) is for debugging programs compiled with the Informix-4GL Rapid Development System (RDS). The object files created by RDS (fglpc
) have the extension .4go
(I4GL p-code object file) and the executables are conventionally given the extension .4gi
(I4GL p-code interpretable file — run using fglgo
or ID's fgldb
).
By contrast, the plain Informix-4GL (c-code) system uses an I4GL compiler to generate first ESQL/C code and then C code, and a C compiler to create regular object files (.o
) and to create its executables, which are conventionally given the extension .4ge
(I4GL c-code executable).
The ID cannot debug c-code executables. It can only debug p-code interpretable files.
On the face of it, therefore, your problem is that you are using the wrong tool for the job. Either you need to compile with RDS and create an interpretable, or you need to use a C code debugger such as GDB. However, be warned that debugging I4GL code with GDB is mainly an exercise in frustration as the bulk of the code is a series of function calls to library functions — or is an incredibly tortuous sequence of goto
statements if you're debugging inside an I4GL report function. It is machine-generated C code; it is not intended to be comprehensible to humans.