Informix Error -16345: Cannot set breakpoint in 4GL library function or user C function.
Cause and resolution
Cannot set breakpoint in 4GL library function or user C function.
You can set a breakpoint only at a function written in 4GL, not at a function that is written in another language such as C or ESQL/C, and not at the name of a built-in function.
To suspend program execution when a C function is called, set a breakpoint by specifying the line number of the 4GL statement that calls the C function, rather than specifying the name of the function.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-16345 fires when a breakpoint is set at a function not written in 4GL — per the official guidance. Breakpoints can only be set at 4GL functions, not functions written in C, ESQL/C, or at built-in function names.
- A breakpoint targeted at a C/ESQL/C function or a built-in function name, per the official guidance — the direct, only cause.
Solutions / Resolution
- Set the breakpoint at the line number of the 4GL statement that calls the C function, per the official guidance, instead of naming the function itself.
Examples
Breaking on a C function by name
> BREAK my_c_function
Corrected
> BREAK mymodule.42
Diagnostic Checks
- Check whether the target function is written in 4GL, and if not, set the breakpoint on the calling line instead.
Related Errors / Related Topics
- -16344 — "Invalid function name function-name specified." A related breakpoint-target error, about the function not being found at all rather than found but written in a non-4GL language.
A breakpoint was set at a non-4GL function — break on the calling 4GL line instead.