The options in the following table allow you to detect and correct problems in your source code. In some cases, these options can alter your object code, increase your compile time, or introduce runtime checking that can slow down the execution of your application. The option descriptions indicate how extra checking can impact performance.
To control the amount and type of information you receive regarding the behavior and performance of your application, consult Listings, messages, and compiler information.
For information on debugging optimized code, see the XL Fortran Optimization and Programming Guide.
Option name | @PROCESS directive | Description |
---|---|---|
-# | None. | Previews the compilation steps specified on the command line, without actually invoking any compiler components. |
-C, -qcheck | CHECK | Generates code that performs certain types of runtime checking. |
-g, -qdbg | DBG | Generates debugging information for use by a symbolic debugger, and makes the program state available to the debugging session at selected source locations. |
-qdbgfmt | DBGFMT | Specifies the format for the debugging information in object files. |
-qflttrap | FLTTRAP | Determines what types of floating-point exception conditions to detect at run time. |
-qfullpath | None. | When used with the -g or -qlinedebug option, this option records the full, or absolute, path names of source and include files in object files compiled with debugging information, so that debugging tools can correctly locate the source files. |
-qfunctrace | None. | Traces entry and exit points of procedures in your program. If your program contains C++ compilation units, this option also traces C++ catch blocks. |
-qfunctrace_xlf_catch | None. | Specifies the name of the catch tracing subroutine. |
-qfunctrace_xlf_enter | None. | Specifies the name of the entry tracing subroutine. |
-qfunctrace_xlf_exit | None. | Specifies the name of the exit tracing subroutine. |
-qhalt | HALT | Stops compilation before producing any object, executable, or assembler source files if the maximum severity of compile-time messages equals or exceeds the severity you specify. |
-qhaltonmsg | HALTONMSG | Stops compilation before producing any object files, executable files, or assembler source files if a specified error message is generated. |
-qinfo | None. | Produces or suppresses groups of informational messages. |
-qinitalloc | INITALLOC | Initializes allocatable and pointer variables that are allocated but not initialized to a specific value, for debugging purposes. |
-qinitauto | None. | Initializes uninitialized automatic variables to a specific value, for debugging purposes. |
-qkeepparm | None. | When used with -O2 or higher optimization, specifies whether procedure parameters are stored on the stack. |
-qlinedebug | None. | Generates only line number and source file name information for a debugger. |
-qobject | OBJECT | Specifies whether to produce an object file or to stop immediately after checking the syntax of the source files. |
-qoptdebug | None. | When used with high levels of optimization, produces files containing optimized pseudocode that can be read by a debugger. |
-qsigtrap | None. | Sets up the specified trap handler to catch SIGTRAP and SIGFPE exceptions when compiling a file that contains a main program. |
-qwarn64 | None. | Displays informational messages identifying statements that may cause problems with 32-bit to 64-bit migration. |
-qxflag=dvz | None. | Causes the compiler to generate code to detect floating-point divide-by-zero operations. |