To create a core dump

Unless your application programmatically generates a core dump, by calling the CBL_CREATE_CORE library routine, you must use run-time tunables to produce one.

  1. Create a run-time tunables file; see Format of a Configuration File for Native COBOL.
  2. Within the file, include the core_on_error tunable. By default, when a core dump occurs, it is saved with the name core or core.<pid>, but you can change this by also including the core_filename tunable. For example:
    set core_on_error=3
    set core_filename="coredumptest.%p%t_%d"
    core_on_error parameters
    0 The run-time system never produces a core file on any signal or run-time system error. This is the default behavior of the run-time system.
    1 The run-time system produces a core file when any system signal is received that would normally produce a core file on the host system; for example, SIGBUS and SIGSEGV (which would usually produce a run-time system error 114). After writing out the core file the process terminates immediately.
    Warning: When this value is set, operating system security may prevent a core dump file from being created; refer to Preparing for a Core Dump for instructions on how to ensure that a core dump file is created.
    2 The run-time system produces a core file when any run-time system error occurs. After writing out the core file the process terminates immediately.
    Warning: When this value is set, operating system security may prevent a core dump file from being created; refer to Preparing for a Core Dump for instructions on how to ensure that a core dump file is created.
    3 The run-time system produces a snap shot core file when any run-time system error occurs. After writing out the core file the process continues as normal; for example, to display an RTS error message.
    core_filename parameters
    Important: You can only use this tunable when core_on_error is set to 3.
    path&filename The path and name of the file that will be produced when a core file is generated if you set the core_on_error tunable to the value 3. If filename contains a tunable string it is substituted as follows:
    %%
    Single %
    %d
    The date of when the program encountered the error, in the format yyyymmdd
    %f
    The basename of the program that encountered the error
    %p
    The process ID of the program that has encountered the error
    %t
    The time of when the program encountered the error, in the format hhmmss
  3. Set the COBCONFIG environment variable to the location of the tunables file.
  4. Run the application for which you are expecting a core dump file. When the run-time system receives an unhandled signal, a core dump file in created in the same directory as the application.