HLASM Toolkit Feature Interactive Debug Facility User's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Self-loading CMS nucleus extensions

HLASM Toolkit Feature Interactive Debug Facility User's Guide
GC26-8709-07

Some nucleus extensions are self-loading. They obtain nucleus free storage themselves, move in the code, and declare the nucleus extension. In this case, you must specify the symbol where the code that is moved into nucleus storage begins.

For example, if your program is a REXX function package, there is a short piece of code at the start of the program that loads the remainder as a nucleus extension. The real program begins at symbol FREEGO. You invoke IDF:
     ASMIDF rxmyprog (SELFNUCX FREEGO/fn ft fm (abcd
You must pre-load the nucleus extension before invoking IDF. Since the program is self-loading and may not yet be operational, you may have to use a two-run technique with IDF:
  1. First run:

    For the first run, do not declare the program as self-loading. Invoke IDF as if the program was only going to allocate nucleus storage. Trace through the program up to the point where it normally branches to the NUCXLOADed code, then QUIT from IDF. At this point, you have effectively pre-loaded the nucleus extension.

  2. Second run:

    For the second run, invoke IDF with the SELFNUCX option as shown above. Since you pre-loaded it in the first run, you can now continue debugging in the NUCXLOADed code.

Note: It may also be possible to use the SET BASE and SELFNUCX VALUE commands to trace a self-loading nucleus extension in a single run.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014