Determining Process Types Via DEBUG/iX
-
1. Determine the name of the SYMOS file for the release of MPE/iX
you are using (actually, any SYMOS file will work for this
particular requirement). Do this by entering:
:LISTF SYMOS.OS@.TELESUP,2
Use the SYMOS file from the OS group that most nearly matches the
VUF (Version.Update.Fix) of the release of MPE/iX your machine is
running. Unfortunately, you may have a problem with this because
different numbers are often reported by various tools, such as
:SHOWME (reports three numbers), the bootup dialog (yet another)
and the OS@ groups ... well, it can be confusing.
On MPE/iX 5.0, a :SHOWME reports:
RELEASE: C.50.00 MPE/iX HP31900 B.79.06 USER VERSION: C0
In this case, the VUF for the SYMOF is "B79" (from the middle of the line).
For now, try to use the SYMOS file that matches the middle number
from SHOWME's "Release" line. If in doubt, ask your
"third-party" support person or SE which is the most current. If you
found none, contact them and ask where the SYMOS file and DAT macros are.
- 2. Now, get into Debug:
:DEBUG
Note: entering DEBUG from the Command Interpreter (CI) requires
Privileged Mode (PM) capability.
- 3. Once you are in DEBUG, you will get a prompt like:
$1 ($3e) nmdebug >
Now, we want to open the SYMOS file. Enter a command like:
SYMOPEN SYMOS.OS????.TELESUP
(replace the OS???? with the name of the correct group, OSB79
for MPE/iX 5.0)
This should return with no errors. The SYMFILE command will list all
of the open symbolic files (which should be just the one we just opened).
- 4. Finally, enter:
ft "ptype_bit_type"
You should see:
(USER_PTYPE, SON_PTYPE, MAIN_PTYPE, TASK_PTYPE, SYSTEM_PTYPE,
DETACH_PTYPE, UCOP_PTYPE, UNK7_PTYPE)
This is the actual Pascal/iX definition for the enumerated types
called ptype_bit_type, which is used to describe process types,
Pascal/iX enumerated types always start with the value 0, thus
USER_PTYPE is 0, SON_TYPE is 1, etc.
- 5. Close the SYMOS file and exit DEBUG:
symclose symos /* don't type in the whole name */
c /* this exits DEBUG nicely */
You've just successfully done your first reverse engineering of MPE/iX!
Updated 1996-09-19