


 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




 NNNNAAAAMMMMEEEE
      xdb - C, FORTRAN, Pascal, and C++ Symbolic Debugger

 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
      xxxxddddbbbb [----dddd _d_i_r] [----rrrr _f_i_l_e] [----RRRR _f_i_l_e] [----pppp _f_i_l_e] [----PPPP _p_r_o_c_e_s_s__I_D] [----LLLL] [----llll
      _l_i_b_r_a_r_y]
          [----iiii _f_i_l_e] [----oooo _f_i_l_e] [----eeee _f_i_l_e] [----SSSS _n_u_m] [----ssss] [_o_b_j_e_c_t_f_i_l_e [_c_o_r_e_f_i_l_e]]

 DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
      xxxxddddbbbb is a source level debugger for C, HP FORTRAN, HP Pascal, and C++
      programs.  It provides a controlled environment for their execution.
      See the _H_P-_U_X _S_y_m_b_o_l_i_c _D_e_b_u_g_g_e_r _U_s_e_r'_s _G_u_i_d_e for a comprehensive
      description of _x_d_b .

      _o_b_j_e_c_t_f_i_l_e is an executable program file having zero or more of its
      component modules compiled with the debug option turned on (enabled by
      the ----gggg option of the cccccccc, ffff77777777, ppppcccc, and CCCCCCCC compilers).  The support
      module ////uuuussssrrrr////lllliiiibbbb////eeeennnndddd....oooo must be included as the last object file linked,
      except for libraries included with the ----llll option to lllldddd (see _l_d(1)).
      The support module is included automatically when lllldddd is invoked as
      part of a compile command that uses the ----gggg option.  The default for
      _o_b_j_e_c_t_f_i_l_e is aaaa....oooouuuutttt.  Note that by default lllldddd links in shared
      libraries instead of archive libraries.

      _c_o_r_e_f_i_l_e is a core image from a failed execution of _o_b_j_e_c_t_f_i_l_e.  The
      default for _c_o_r_e_f_i_l_e is ccccoooorrrreeee.

    OOOOppppttttiiiioooonnnnssss
      xxxxddddbbbb recognizes the following options:

           ----dddd _d_i_r         Specify _d_i_r as an alternate directory where source
                          files are located.

           ----rrrr _f_i_l_e        Specify a record _f_i_l_e, which is invoked
                          immediately (for overwrite, not for append).

           ----RRRR _f_i_l_e        Specify a restore state _f_i_l_e, which is processed
                          before the ----pppp option (if any) and after the ----rrrr
                          option (if any).

           ----pppp _f_i_l_e        Specify a playback _f_i_l_e which is invoked
                          immediately.

           ----PPPP _p_r_o_c_e_s_s__I_D  Specify the process ID of an existing process the
                          user wants to debug.

           ----LLLL             Use the line-oriented interface.

           ----llll _l_i_b_r_a_r_y     Pre-load information about this shared _l_i_b_r_a_r_y, ----llll
                          AAAALLLLLLLL means always pre-load shared library
                          information.



 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




           ----iiii _f_i_l_e        Redirect standard input to the child process from
                          the designated file or character device.

           ----oooo _f_i_l_e        Redirect standard output from the child process to
                          the designated file or character device.

           ----eeee _f_i_l_e        Redirect standard error from the child process to
                          the designated file or character device.

           ----SSSS _n_u_m         Set the size of the string cache to _n_u_m bytes
                          (default is 1024, which is also the minimum).

           ----ssss             Enable debugging of shared-libraries.

      At start-up, the debugger executes commands from the file
      $$$$HHHHOOOOMMMMEEEE////....xxxxddddbbbbrrrrcccc, if it exists.

 EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS
    DDDDiiiissssppppllllaaaayyyy
      TTTTEEEERRRRMMMM           This variable specifies the terminal type.  There is no
                     default for the terminal type.

      LLLLIIIINNNNEEEESSSS          This variable specifies the window height in lines of
                     text.  The default for this variable is 24 if not
                     otherwise determinable.

      CCCCOOOOLLLLUUUUMMMMNNNNSSSS        This variable specifies the window width in text
                     columns.  The default for this variable is 80 if not
                     otherwise determinable.

    CCCCoooommmmmmmmaaaannnndddd LLLLiiiinnnneeee EEEEddddiiiittttiiiinnnngggg
      XXXXDDDDBBBBHHHHIIIISSSSTTTT        This variable specifies the history file.  The default
                     for this variable is $$$$HHHHOOOOMMMMEEEE////....xxxxddddbbbbhhhhiiiisssstttt.

      HHHHIIIISSSSTTTTSSSSIIIIZZZZEEEE       This variable specifies the actual number of commands
                     allowed in the history file.  The default for this
                     variable is 111122228888.

      XXXXDDDDBBBBEEEEDDDDIIIITTTT        This variable specifies the editing mode ( vvvviiii,,,, eeeemmmmaaaaccccssss,,,,
                     or ggggmmmmaaaaccccssss))))....  The default for this variable is to match
                     the environment variable VVVVIIIISSSSUUUUAAAALLLL or EEEEDDDDIIIITTTTOOOORRRR;;;; otherwise,
                     there is no default.

    NNNNaaaattttiiiivvvveeee LLLLaaaannnngggguuuuaaaaggggeeee SSSSuuuuppppppppoooorrrrtttt
      LLLLAAAANNNNGGGG           This variable determines the local language equivalent
                     of yyyy (for yes/no queries).  LLLLAAAANNNNGGGG also determines the
                     locale in which messages are displayed.  The default
                     value for this variable is CCCC.

      LLLLCCCC____CCCCTTTTYYYYPPPPEEEE       This variable determines the interpretation of text as
                     single- and/or multi-byte characters and their



 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




                     printability when reading or writing character and
                     string data.  If LLLLCCCC____CCCCTTTTYYYYPPPPEEEE is not specified in the
                     environment or is set to the empty string, the value of
                     LLLLAAAANNNNGGGG is used as the default.

    IIIInnnntttteeeerrrrnnnnaaaattttiiiioooonnnnaaaallll CCCCooooddddeeee SSSSeeeetttt SSSSuuuuppppppppoooorrrrtttt
      Single- and multi-byte character code sets are supported.

 LLLLOOOOCCCCAAAATTTTIIIIOOOONNNN SSSSYYYYNNNNTTTTAAAAXXXX
      _l_i_n_e           A _n_u_m_b_e_r that refers to a particular line in a file.

      _l_o_c_a_t_i_o_n       A particular _l_i_n_e in a file and its corresponding
                     address in the user's program.  _l_o_c_a_t_i_o_n has the
                     following general forms:

                          _l_i_n_e
                          ####llllaaaabbbbeeeellll
                          _f_i_l_e[::::_l_i_n_e]
                          [_f_i_l_e::::]_p_r_o_c[::::_p_r_o_c[...]][::::_l_i_n_e|||| ####_l_a_b_e_l]
                          [_c_l_a_s_s]::::::::_p_r_o_c[::::_l_i_n_e|||| #### _l_a_b_e_l]

                     To reference code addresses symbolically, use:

                          _p_r_o_c####_l_i_n_e
                          [[_c_l_a_s_s]::::::::]_p_r_o_c####_l_i_n_e

 VVVVaaaarrrriiiiaaaabbbblllleeee IIIIddddeeeennnnttttiiiiffffiiiieeeerrrrssss
      Variables are referenced exactly as they are named in the source file
      or files.  Uppercase/lowercase sensitivity is controlled by the ttttcccc
      command.

      Several methods can be used to obtain the value of some variable _v_a_r,
      depending on where and what it is:

      _v_a_r               Search for _v_a_r first as a local in the current
                        procedure (or the most recent instance of the
                        current procedure), next as a member of that
                        procedure's class, or finally as a global.

      _c_l_a_s_s::::::::_v_a_r        Search _c_l_a_s_s for variable.

      _p_r_o_c::::_v_a_r
      [[_c_l_a_s_s]::::::::]_p_r_o_c::::[_c_l_a_s_s::::::::]_v_a_r
                        Search for _v_a_r in the current or most recent
                        instance of _p_r_o_c.  A leading :::::::: indicates a global.

      _p_r_o_c::::_d_e_p_t_h::::_v_a_r
      [[_c_l_a_s_s]::::::::]_p_r_o_c::::_d_e_p_t_h::::[_c_l_a_s_s::::::::]_v_a_r
                        Use the instance of _p_r_o_c that is at depth _d_e_p_t_h
                        (exactly), instead of the current or most recent
                        instance.



 Hewlett-Packard Company            - 3 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      ::::_v_a_r
      ::::::::_v_a_r             Search for a global (not local) variable named _v_a_r.

      ....                 _d_o_t is shorthand for the last thing viewed.

 SSSSppppeeeecccciiiiaaaallll VVVVaaaarrrriiiiaaaabbbblllleeeessss
      Special variables are names for things that are not normally directly
      accessible.  Special variables include:

      $$$$_v_a_r              The debugger has room in its own address space for
                        several user-created special variables of type lllloooonnnngggg
                        ....

      $$$$ppppcccc, $$$$sssspppp, $$$$rrrr7777, etc.
                        These are the names of the program counter, the
                        stack pointer, the CPU general registers, etc.

      $$$$rrrreeeessssuuuulllltttt           This is used to reference the return value from the
                        last command-line procedure call.  It can also be
                        referenced as $$$$sssshhhhoooorrrrtttt and $$$$lllloooonnnngggg.

      $$$$ssssiiiiggggnnnnaaaallll           This lets you see and modify the current child
                        process signal number.

      $$$$llllaaaannnngggg             This lets you see and modify the current language.
                        Possible values are: CCCC, CCCC++++++++, FFFFOOOORRRRTTTTRRRRAAAANNNN, PPPPaaaassssccccaaaallll,
                        ddddeeeeffffaaaauuuulllltttt.

      $$$$ddddeeeepppptttthhhh            This is the default stack level for viewing local
                        variables.

      $$$$pppprrrriiiinnnntttt            Alters the behavior of the ``print'' command when
                        printing character data.  Values that can be
                        assigned are aaaasssscccciiiiiiii, nnnnaaaattttiiiivvvveeee, and rrrraaaawwww.

      $$$$lllliiiinnnneeee             This lets you see and modify the current source line
                        number.

      $$$$mmmmaaaalllllllloooocccc           This lets you see the current amount of memory
                        (bytes) allocated at run-time for use by the
                        debugger itself.

      $$$$sssstttteeeepppp             This lets you see and modify the number of machine
                        instructions the debugger steps while in a non-
                        debuggable procedure before setting an up-level
                        breakpoint and free-running to it.

      $$$$ccccpppplllluuuusssspppplllluuuussss        This is interpreted as a set of flags to control
                        behavior of certain C++ capabilities.





 Hewlett-Packard Company            - 4 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




                             bbbbiiiitttt 0000     Set means print full base class
                                       information at each occurrence.

                             bbbbiiiitttt 1111     Set means bbbbppppcccc sets breakpoints on
                                       member functions of base classes,
                                       also.

                             bbbbiiiitttt 2222     Set means bbbbiiii sets breakpoints on
                                       member functions of base classes,
                                       also.

                        The default for all bits is clear.  Some commands
                        take a ----cccc or ----CCCC argument which causes the action to
                        be as if the appropriate bit of $$$$ccccpppplllluuuusssspppplllluuuussss was clear
                        (----cccc) or set (----CCCC).

 CCCCOOOOMMMMMMMMAAAANNNNDDDDSSSS
      The debugger has a large number of commands for viewing and
      manipulating the program being debugged.  They are explained below and
      are grouped according to functional similarity.

    WWWWiiiinnnnddddoooowwww MMMMooooddddeeee CCCCoooommmmmmmmaaaannnnddddssss
      These commands control what is displayed in the source window.  The
      source window by default comes up in source mode for viewing source
      code.  If assembly language instructions are needed, the disassembly
      mode can be selected.  Registers are also shown in this mode.  If both
      assembly instructions and source code are needed, the split-screen
      mode can be selected.  Commands are as follows:

           ttttdddd          Toggle disassembly mode.

           ttttssss          Toggle split-screen mode.

           ggggrrrr          Display the general registers when the debugger is in
                       disassembly (non-split-screen) mode.

           ffffrrrr          Display the floating-point registers when the
                       debugger is in disassembly (non-split-screen) mode.

           ++++rrrr          Scroll the floating-point register display forward
                       four lines.

           ----rrrr          Scroll the floating-point register display back four
                       lines.

           wwww [_s_i_z_e]    Set the size of the source viewing window.

           uuuu           Update the screen to reflect the current location.

           UUUU           Clear and redraw the screen.




 Hewlett-Packard Company            - 5 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




    PPPPaaaatttthhhh MMMMaaaapppp CCCCoooommmmmmmmaaaannnnddddssss
      Path maps can be used to redirect portions of a source tree to
      different directories.  Commands are as follows:

      aaaappppmmmm _o_l_d__p_a_t_h [_n_e_w__p_a_t_h]
                            Add a path map to the list of path maps.

      llllppppmmmm                   List path maps.  The list is numbered for use
                            with the ddddppppmmmm command.

      ddddppppmmmm [_n_u_m_b_e_r |||| ****]      Delete path map.  Default _n_u_m_b_e_r is 1 (most
                            recent path map).  A **** deletes all path maps.

      DDDD _d_i_r_e_c_t_o_r_y           Adds _d_i_r_e_c_t_o_r_y to the list of alternate
                            directory search paths for source files.

    FFFFiiiilllleeee VVVViiiieeeewwwwiiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
      These commands may change the current viewing position, but they do
      not affect the next statement to be executed in the child process, if
      any.  Commands are as follows:

      vvvv                 View the source one window forward from the _c_u_r_r_e_n_t
                        source window.

      vvvv _l_o_c_a_t_i_o_n        View the source at the specified _l_o_c_a_t_i_o_n, placing
                        it in the center of the window.

      VVVV [_d_e_p_t_h]         View the source at the current procedure at _d_e_p_t_h on
                        the stack.

      vvvvaaaa [_a_d_d_r_e_s_s]      View the assembly code at _a_d_d_r_e_s_s in the source
                        window (see the ttttdddd command).

      LLLL                 Display the file name, procedure name, line number,
                        and the current source statement corresponding to
                        the object code being executed or examined.

      ++++ [_l_i_n_e_s]         Move to _l_i_n_e_s (default one) lines after the current
                        line.

      ---- [_l_i_n_e_s]         Move to _l_i_n_e_s (default one) lines before the current
                        line.

      //// [_s_t_r_i_n_g]        Search forward through the current file for _s_t_r_i_n_g,
                        starting at the line after the current line.

      ???? [_s_t_r_i_n_g]        Search backward for _s_t_r_i_n_g, starting with the line
                        before the current line.

      nnnn                 Repeat the previous //// or ???? command using the same
                        _s_t_r_i_n_g as the last search, starting at the current



 Hewlett-Packard Company            - 6 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




                        location being viewed.

      NNNN                 The same as nnnn, but the search goes in the opposite
                        direction from that specified by the previous //// or ????
                        command.

    DDDDiiiissssppppllllaaaayyyy FFFFoooorrrrmmmmaaaattttssss
      The display formats tell the debugger's data viewing commands how
      output should be formatted.  A _f_o_r_m_a_t is of the form
      [_c_o_u_n_t]_f_o_r_m_c_h_a_r[_s_i_z_e].  For example, pppp aaaabbbbcccc\\\\4444xxxx2222 prints, starting at the
      location of aaaabbbbcccc, four two-byte numbers in hexadecimal.

      Formats that print numbers use lowercase characters to represent
      iiiinnnntttteeeeggggeeeerrrr data types and uppercase to represent lllloooonnnngggg data types.  For
      example, OOOO prints in lllloooonnnngggg octal.

      The following formats are available:

           nnnn         Print in the ``normal'' format, based on the type.
                     Arrays of cccchhhhaaaarrrr and pointers to cccchhhhaaaarrrr are interpreted as
                     strings, and structures are fully dumped.

           (dddd|DDDD)     Print in decimal (as iiiinnnntttteeeeggggeeeerrrr or lllloooonnnngggg).

           (uuuu|UUUU)     Print in unsigned decimal (as iiiinnnntttteeeeggggeeeerrrr or lllloooonnnngggg).

           (oooo|OOOO)     Print in octal (as iiiinnnntttteeeeggggeeeerrrr or lllloooonnnngggg).

           (xxxx|XXXX)     Print in hexadecimal (as iiiinnnntttteeeeggggeeeerrrr or lllloooonnnngggg).

           (zzzz|ZZZZ)     Print in binary (as iiiinnnntttteeeeggggeeeerrrr or lllloooonnnngggg).

           (bbbb|BBBB)     Print a byte in decimal (either way).

           cccc         Print a character.

           CCCC         Print a wide-character.

           (eeee|EEEE)     Print in ``e'' floating-point notation (as ffffllllooooaaaatttt,
                     ddddoooouuuubbbblllleeee, or lllloooonnnngggg).

           (ffff|FFFF)     Print in ``f'' floating-point notation (as ffffllllooooaaaatttt,
                     ddddoooouuuubbbblllleeee, or lllloooonnnngggg ddddoooouuuubbbblllleeee).

           (gggg|GGGG)     Print in ``g'' floating-point notation (as ffffllllooooaaaatttt,
                     ddddoooouuuubbbblllleeee, or lllloooonnnngggg ddddoooouuuubbbblllleeee).

           iiii         Print a disassembled machine instruction.

           aaaa         Print a string using _e_x_p_r as the address of the first
                     byte.



 Hewlett-Packard Company            - 7 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




           wwww         Print a wide-character string using _e_x_p_r as the address
                     of the first element.

           WWWW         Print a wide-character string using _e_x_p_r as the address
                     of a pointer to the first element.

           rrrr         Print the template of an object (C++).

           RRRR         Print the template of an object with base classes
                     displayed (C++).

           ssss         Print a string using _e_x_p_r as the address of a pointer
                     to the first byte.

           tttt         Show the type of _e_x_p_r (usually a variable or procedure
                     name).

           TTTT         This is identical to the tttt format except for C++
                     classes and struct objects where base class and struct
                     type information are also displayed.

           pppp         Print the name of the procedure containing address
                     _e_x_p_r.

           SSSS         Do a formatted dump of a structure.

           kkkk         Identical to the SSSS format.

           KKKK         Same as the SSSS format, except that for C++ class and
                     struct objects the base class and struct data are also
                     displayed.

      There are some short hand notations for _s_i_z_e:

           bbbb         1 byte (cccchhhhaaaarrrr).

           ssss         2 bytes (sssshhhhoooorrrrtttt).

           llll         4 bytes (lllloooonnnngggg).

           DDDD         8 bytes (ddddoooouuuubbbblllleeee).  Can only be used with floating-point
                     formats.

           LLLL         16 bytes (lllloooonnnngggg ddddoooouuuubbbblllleeee).  Can only be used with
                     floating-point formats.

    DDDDaaaattttaaaa VVVViiiieeeewwwwiiiinnnngggg aaaannnndddd MMMMooooddddiiiiffffiiiiccccaaaattttiiiioooonnnn CCCCoooommmmmmmmaaaannnnddddssss
      pppp _e_x_p_r            If _e_x_p_r does not resemble anything else (such as a
                        command), it is handled as if you had typed pppp _e_x_p_r\\\\nnnn
                        (print expression in normal format).




 Hewlett-Packard Company            - 8 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      pppp _e_x_p_r\\\\_f_o_r_m_a_t     Print the contents (value) of _e_x_p_r using _f_o_r_m_a_t.

      pppp _e_x_p_r????_f_o_r_m_a_t     Print the address of _e_x_p_r using _f_o_r_m_a_t.

      pppp ----[[\\\\] _f_o_r_m_a_t]   Back up to the preceding memory location (based on
                        the size of the last thing displayed) and use _f_o_r_m_a_t
                        if supplied, or the previous _f_o_r_m_a_t if not.

      pppp ++++ [[\\\\] _f_o_r_m_a_t]  Go forward to the following memory location (based
                        on the size of the last thing displayed) and use
                        _f_o_r_m_a_t if supplied, or the previous _f_o_r_m_a_t if not.

      pppp _c_l_a_s_s::::::::         Print the values of all static data members of
                        _c_l_a_s_s.

      ppppqqqq _a_r_g_u_m_e_n_t       Print quietly (evaluate but do not print).  _a_r_g_u_m_e_n_t
                        can be anything allowed after pppp.

      llll [_p_r_o_c[::::_d_e_p_t_h]]
      llll [[[_c_l_a_s_s]::::::::][_p_r_o_c[::::_d_e_p_t_h]]]
                        List all parameters and local variables of the
                        current procedure (or of _p_r_o_c, if given, at the
                        specified _d_e_p_t_h, if any).

      llllaaaa                List all aaaassertions.
      llllbbbb                List all bbbbreakpoints.
      lllldddd                List all ddddirectories (where to search for files).
      llllssssllll               List all shared libraries known to the debugger.
      llllzzzz                List all zzzzignals (signal actions).

      llllcccc [_s_t_r_i_n_g]       List all (or matching) ccccommon blocks in the current
                        procedure (FORTRAN).
      llllffff [_s_t_r_i_n_g]       List all (or matching) ffffiles (source files used to
                        build _o_b_j_e_c_t_f_i_l_e).
      llllgggg [_s_t_r_i_n_g]       List all (or matching) gggglobal variables.
      llllllll [_s_t_r_i_n_g][ @@@@_l_i_b_r_a_r_y]
                        List all (or matching) llllabels.
      llllmmmm [_s_t_r_i_n_g]       List all (or matching) mmmmacros.
      llllpppp [[_c_l_a_s_s]::::::::][_s_t_r_i_n_g]
                        List all (or matching) pppprocedure names.
      llllrrrr [_s_t_r_i_n_g]       List all (or matching) rrrregisters.
      llllssss [_s_t_r_i_n_g]       List all (or matching) sssspecial variables (except
                        registers).
      llllxxxx                List exception stop-on-throw and -catch state (C++).
      llllccccllll [_s_t_r_i_n_g]      List all (or matching) classes (C++).
      llllcccctttt [_s_t_r_i_n_g]      List all (or matching) class templates (C++).
      llllttttffff [_s_t_r_i_n_g]      List all (or matching) template functions (C++).
      llllfffftttt [_s_t_r_i_n_g]      List all (or matching) function templates (C++).
      lllloooo [[_c_l_a_s_s]::::::::][_s_t_r_i_n_g]
                        List all (or matching) overloaded functions (C++).




 Hewlett-Packard Company            - 9 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      mmmmmmmm [_s_t_r_i_n_g]       Show a memory-map of all currently loaded shared-
                        libraries and the main program, or of the one
                        specified.
    SSSSttttaaaacccckkkk VVVViiiieeeewwwwiiiinnnngggg CCCCoooommmmmmmmaaaannnnddddssss
      tttt [_d_e_p_t_h]         Trace the stack for the first _d_e_p_t_h (default 20)
                        levels.
      TTTT [_d_e_p_t_h]         Same as tttt, but local variables are also displayed,
                        using \\\\nnnn format (except that all arrays and pointers
                        are shown simply as addresses, and structures as
                        first word only).
      uuuupppp [_o_f_f_s_e_t]       Move up (decreasing depth) _o_f_f_s_e_t levels in the
                        stack.  The default value of _o_f_f_s_e_t is 1.
      ddddoooowwwwnnnn [_o_f_f_s_e_t]     Move down (increasing depth) _o_f_f_s_e_t levels in the
                        stack.  The default value of _o_f_f_s_e_t is 1.
      ttttoooopppp               Move to the top of the stack (this is the same as VVVV
                        0000).
      ttttsssstttt               Toggle the visibility of inter-procedural stubs in
                        stack traces (PA-RISC only).
    JJJJoooobbbb CCCCoooonnnnttttrrrroooollll CCCCoooommmmmmmmaaaannnnddddssss
      These commands let you control execution of the program.  The parent
      (HP Symbolic Debugger) and child (_o_b_j_e_c_t_f_i_l_e) processes take turns
      running.  The debugger is only active and able to execute commands
      while the child process is stopped due to a signal or a breakpoint, or
      by terminating.
      rrrr [_a_r_g_u_m_e_n_t_s]     Run a new child process with the given or previous
                        argument list, if any.
      RRRR                 Run a new child process with no argument list.
      kkkk                 Terminate (kill) the current child process, if any.
      cccc [_l_o_c_a_t_i_o_n]      Continue after a breakpoint or a signal, ignoring
                        the signal, if any.  If a _l_o_c_a_t_i_o_n is specified, a
                        tempory breakpoint is set at that _l_o_c_a_t_i_o_n.
      CCCC [_l_o_c_a_t_i_o_n]      Continue just like cccc, but allow the signal (if any)
                        to be received.  If a _l_o_c_a_t_i_o_n is specified, a
                        tempory breakpoint is set at that _l_o_c_a_t_i_o_n.
      ssss [_c_o_u_n_t]         Single step 1 (or _c_o_u_n_t) statements (or instructions
                        in disassembly mode).
      SSSS [_c_o_u_n_t]         Similar to ssss, but treat procedure calls as single
                        statements (do not step ``into'' them).  The ssss and SSSS
                        commands pass the current signal (like CCCC).  Set
                        $$$$ssssiiiiggggnnnnaaaallll ==== 0000 if necessary, to prevent this.
    BBBBrrrreeeeaaaakkkkppppooooiiiinnnntttt CCCCoooommmmmmmmaaaannnnddddssss
      The debugger provides a number of commands for setting and deleting
      breakpoints.  Associated with any breakpoint are three attributes:
      _l_o_c_a_t_i_o_n          A particular _l_i_n_e in a file and its corresponding
                        address in the user's program, if executable code
                        exists for that line.
      _c_o_u_n_t             The number of times the breakpoint is encountered
                        prior to recognition.  This can be suffixed with pppp
                        (permanent, which is the default) or tttt (temporary).
      _c_o_m_m_a_n_d_s          Actions to be taken upon recognition of a breakpoint
                        before waiting for command input.  This is a list of



 Hewlett-Packard Company           - 10 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




                        debugger commands separated by ;;;; and enclosed by {{{{}}}}.
      Each breakpoint can be individually activated or suspended, and there
      is an overall breakpoint mode which can be toggled.  If any breakpoint
      is added or activated, or if all breakpoints are suspended, the global
      mode is toggled automatically.
      Here are the breakpoint commands:
      llllbbbb                List all breakpoints.
      bbbb [_l_o_c_a_t_i_o_n] [\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Set a permanent breakpoint at the current location
                        (or at _l_o_c_a_t_i_o_n).
      ddddbbbb [_n_u_m_b_e_r]       Delete breakpoint number _n_u_m_b_e_r, or at the current
                        _l_o_c_a_t_i_o_n.

      ddddbbbb ****              Delete all breakpoints (including ``procedure''
                        breakpoints).

      bbbbiiii _e_x_p_r._p_r_o_c [\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        After evaluating _e_x_p_r to what must be a class
                        instance, set an ``instance'' breakpoint at the
                        first executable line of _p_r_o_c for the instance's
                        class.

      bbbbiiii [----cccc||||----CCCC] _e_x_p_r [_c_o_m_m_a_n_d_s]
                        After evaluating _e_x_p_r to what must be a class
                        instance, set ``instance'' breakpoints at the first
                        executable line of all member functions of the
                        instance's class.  The ----cccc option indicates only
                        members of the designated class.  The ----CCCC option
                        indicates members of base classes as well as members
                        of the designated class.

      bbbbppppcccc [----cccc|----CCCC] _c_l_a_s_s [_c_o_m_m_a_n_d_s]
                        Set ``class'' breakpoints at the first executable
                        line of all member functions of _c_l_a_s_s.  See the
                        previous command for information on ----cccc and ----CCCC.

      bbbbppppoooo [[_c_l_a_s_s]::::::::]_p_r_o_c [_c_o_m_m_a_n_d_s]
                        Set ``overload'' breakpoints at the first executable
                        line of all overloaded functions with name _p_r_o_c
                        (which can be qualified by a _c_l_a_s_s).

      bbbbpppp [_c_o_m_m_a_n_d_s]     Set permanent breakpoints at the beginning (first
                        executable line) of every debuggable procedure.

      bbbbppppxxxx [_c_o_m_m_a_n_d_s]    Set permanent breakpoints at the exit (final
                        executable statement) of every debuggable procedure.

      bbbbpppptttt [_c_o_m_m_a_n_d_s]    Set permanent breakpoints at the entry and exit
                        (first and final executable statement) of every
                        debuggable procedure.  The given _c_o_m_m_a_n_d_s are
                        associated with the entry breakpoint and default to



 Hewlett-Packard Company           - 11 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




                        QQQQ;;;;tttt 2222;;;;cccc

      ddddpppp                Delete all procedure breakpoints.

      DDDDppppxxxx               Delete all ``procedure exit'' breakpoints.

      DDDDpppptttt               Delete all ``procedure trace'' breakpoints.

      aaaabbbbcccc _c_o_m_m_a_n_d_s      Define a global breakpoint command list to be
                        executed whenever any breakpoint is hit (normal,
                        instance, class, overload, procedure, procedure
                        exit, or procedure trace).

      ddddbbbbcccc               Delete the global breakpoint command.

      bbbbbbbb [_d_e_p_t_h] [_\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Set a breakpoint at the beginning (first executable
                        line) of the procedure at the given stack _d_e_p_t_h (if
                        _d_e_p_t_h is not given use the current procedure).

      bbbbxxxx [_d_e_p_t_h] [_\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Set a breakpoint at the exit (last executable line)
                        of the procedure at the given stack _d_e_p_t_h (if _d_e_p_t_h
                        is not given use the current procedure).

      bbbbuuuu [_d_e_p_t_h] [_\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Set an up-level breakpoint.

      bbbbtttt [_d_e_p_t_h | _p_r_o_c] [_\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Trace the current procedure (or procedure at _d_e_p_t_h,
                        or _p_r_o_c).  By default, the entry breakpoint _c_o_m_m_a_n_d_s
                        are QQQQ;;;;tttt 2222;;;;cccc ,,,, which shows the top two procedures on
                        the stack and continues.

      bbbbaaaa _a_d_d_r_e_s_s [_\_c_o_u_n_t] [_c_o_m_m_a_n_d_s]
                        Set a breakpoint at the given code address.

      ttttxxxxcccc               Toggle the exception stop-on-catch state.

      ttttxxxxtttt               Toggle the exception stop-on-throw state.

      xxxxcccccccc [_c_o_m_m_a_n_d_s]    Define the stop-on-catch command-list.

      xxxxttttcccc [_c_o_m_m_a_n_d_s]    Define the stop-on-throw command-list.

      bbbbcccc _n_u_m_b_e_r _c_o_u_n_t   Set the count of breakpoint _n_u_m_b_e_r to _c_o_u_n_t.

      ssssbbbb [_n_u_m]          Suspend the breakpoint having the _n_u_m specified, or
                        if a _n_u_m is not entered, the breakpoint at the
                        current line is suspended if one exists.




 Hewlett-Packard Company           - 12 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      ssssbbbb ****              Suspend all breakpoints.

      aaaabbbb [_n_u_m]          Activate breakpoint number _n_u_m or if a _n_u_m is not
                        entered, the breakpoint at the current line is
                        activated if one exists.

      aaaabbbb ****              Activate all breakpoints.

      ttttbbbb                Toggle the overall breakpoint mode between _a_c_t_i_v_e
                        and _s_u_s_p_e_n_d_e_d.

    AAAAuuuuxxxxiiiilllliiiiaaaarrrryyyy BBBBrrrreeeeaaaakkkkppppooooiiiinnnntttt CCCCoooommmmmmmmaaaannnnddddssss
      iiiiffff _e_x_p_r {{{{_c_o_m_m_a_n_d_s}}}} [{{{{_c_o_m_m_a_n_d_s}}}}]
                        If _e_x_p_r evaluates to a non-zero value, the first
                        group of commands (the first {{{{}}}} block) is executed;
                        otherwise it (and the following {{{{, if any) is
                        skipped.

      QQQQ                 If the QQQQuiet command appears as the first command in
                        a breakpoint command list, the normal announcement
                        of bbbbrrrreeeeaaaakkkkppppooooiiiinnnntttt aaaatttt _a_d_d_r_e_s_s is not made.

      """"_a_n_y _s_t_r_i_n_g _y_o_u _l_i_k_e""""
                        Print the given string.

    AAAAsssssssseeeerrrrttttiiiioooonnnn CCCCoooonnnnttttrrrroooollll CCCCoooommmmmmmmaaaannnnddddssss
      Assertions are command lists that are executed before every
      instruction.  If there is an active assertion, the program is single-
      stepped at the machine-instruction level and runs very slowly.

      Each assertion can be individually activated or suspended, and there
      is an overall assertions mode which can be toggled.  If any assertion
      is added or activated or if all assertions become suspended, the
      global mode is toggled automatically.

      Here are the assertion commands:

      aaaa _c_o_m_m_a_n_d_s        Create a new assertion with the given command list
                        which is not parsed until it is executed.

      aaaaaaaa _n_u_m_b_e_r         Activate assertion _n_u_m_b_e_r.

      aaaaaaaa ****              Activate all assertions.

      ddddaaaa _n_u_m_b_e_r         Delete assertion _n_u_m_b_e_r.

      ddddaaaa ****              Delete all assertions.

      ssssaaaa _n_u_m_b_e_r         Suspend assertion _n_u_m_b_e_r.





 Hewlett-Packard Company           - 13 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      ssssaaaa ****              Suspend all assertions.

      ttttaaaa                Toggle the overall assertions mode between _a_c_t_i_v_e
                        and _s_u_s_p_e_n_d_e_d.

      xxxx [_m_o_d_e]          Force an exit from assertions _m_o_d_e immediately
                        (default or _m_o_d_e is non-zero) or at the end of the
                        command list ( _m_o_d_e non-zero).

    SSSSiiiiggggnnnnaaaallll CCCCoooonnnnttttrrrroooollll CCCCoooommmmmmmmaaaannnnddddssss
      These commands are used to modify and list the contents of the
      ``zignal'' (signal) handling table.  Here are the signal control
      commands:

       zzzz [[[[_s_i_g_n_a_l]]]][[[[ iiii ]]]][[[[ rrrr ]]]][[[[ ssss ]]]][[[[ QQQQ ]]]]
                               Toggles flags ( iiiignore, rrrreport, or sssstop) for
                               signals ( QQQQuietly).

      llllzzzz                       Lists the current handling of all signals.

    RRRReeeeccccoooorrrrdddd aaaannnndddd PPPPllllaaaayyyybbbbaaaacccckkkk CCCCoooommmmmmmmaaaannnnddddssss
      These commands allow the recording of debugger sessions in a
      recordfile and the playing back of those sessions.  Here are the
      record and playback commands:

      >>>>_f_i_l_e             Set or change the recordfile to _f_i_l_e and turn
                        recording on.

      >>>>>>>>_f_i_l_e            Same as >>>>_f_i_l_e, but appends to _f_i_l_e instead of
                        overwriting.

      >>>>@@@@_f_i_l_e
      >>>>>>>>@@@@_f_i_l_e           Set or change the record-all file to _f_i_l_e, for
                        overwriting or appending.

      >>>>tttt                Turn recording on.
      >>>>ffff                Turn recording off.
      >>>>cccc                Close the recording file
                        When recording is resumed, new commands are appended
                        to the file.  In this context, >>>>>>>> is equivalent to
                        >>>>.

      >>>>@@@@tttt               Turn record-all on
      >>>>@@@@ffff               Turn record-all off
      >>>>@@@@cccc               Close the record-all file

                        In this context, >>>>>>>>@@@@ is equivalent to >>>>@@@@.

      ttttrrrr [@]            Toggle recording [record-all]; if on, turn it off;
                        if off, turn it on.




 Hewlett-Packard Company           - 14 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      >>>>                 Tell the current recording status (same as >>>>>>>>).

      >>>>@@@@                Tell the current record-all status (same as >>>>>>>>@@@@).

      <<<<_f_i_l_e             Start playback from _f_i_l_e.

      <<<<<<<<_f_i_l_e            Start playback from _f_i_l_e, using the single-step
                        feature of playback.

    SSSSaaaavvvveeee SSSSttttaaaatttteeee CCCCoooommmmmmmmaaaannnndddd
      ssssssss _f_i_l_e           Save the current set of breakpoints, macros and
                        assertions in _f_i_l_e for later use with the ----RRRR
                        command-line option.

    MMMMaaaaccccrrrroooo DDDDeeeeffffiiiinnnniiiittttiiiioooonnnn CCCCoooommmmmmmmaaaannnnddddssss
      ddddeeeeffff _n_a_m_e [_r_e_p_l_a_c_e_m_e_n_t-_t_e_x_t]
                        Define _n_a_m_e as a macro whose value is _r_e_p_l_a_c_e_m_e_n_t-
                        _t_e_x_t.

      uuuunnnnddddeeeeffff _n_a_m_e        Remove the macro definition from _n_a_m_e so that _n_a_m_e
                        no longer exists as a replacement string macro.

      ttttmmmm                Toggle the state of the macro substitution mechanism
                        between active and suspended.

    MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss CCCCoooommmmmmmmaaaannnnddddssss
      ssssmmmm                Suspend the built-in _m_o_r_e pagination facility of the
                        debugger output.

      aaaammmm                Activate the built-in _m_o_r_e pagination facility to
                        paginate the debugger output.

      <carriage-return>
      ~~~~                 Repeat the last command, if possible, with an
                        appropriate increment, if any.

      !!!! [_c_o_m_m_a_n_d-_l_i_n_e]  Invoke a shell program.

      #### [_t_e_x_t]          Flag _t_e_x_t as a comment to be echoed to the command
                        window.

      ffff[_p_r_i_n_t_f-_s_t_y_l_e-_f_o_r_m_a_t]
                        Set the address printing format using _p_r_i_n_t_f(3S)
                        format specifications (_n_o_t debugger format styles).
                        If no argument is provided, the format is set to the
                        default, %%%%11110000....8888llllxxxx ....

      gggg (_l_i_n_e|####_l_a_b_e_l|++++[_l_i_n_e_s]|----[_l_i_n_e_s])
                        Go to an address in the procedure on the stack at
                        _d_e_p_t_h zero (not necessarily the current procedure).




 Hewlett-Packard Company           - 15 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      hhhh [_t_o_p_i_c]
      hhhheeeellllpppp [_t_o_p_i_c]      Print commands/syntaxes related to this _t_o_p_i_c using
                        _m_o_r_e(1).  Use hhhh hhhheeeellllpppp for a list of topics.

      IIII                 Print information (inquire) about the state of the
                        debugger and various toggles.

      MMMM                 Print the current text (_o_b_j_e_c_t_f_i_l_e) and core
                        (_c_o_r_e_f_i_l_e) address maps.

      ttttMMMM                Toggle the address mapping of _c_o_r_e_f_i_l_e between the
                        initial map and the modifiable mapping pair which
                        the user can set with the MMMMcccc command.

      MMMM(tttt | cccc) [_e_x_p_r [;;;; _e_x_p_r [ ... ]]]
                        Set the ttttext (_o_b_j_e_c_t_f_i_l_e) or the modifiable ccccore
                        (_c_o_r_e_f_i_l_e) address map.

      qqqq                 Quit the debugger.

      ttttcccc                Toggle case sensitivity in searches.

 AAAADDDDOOOOPPPPTTTTIIIINNNNGGGG AAAANNNN EEEEXXXXIIIISSSSTTTTIIIINNNNGGGG PPPPRRRROOOOCCCCEEEESSSSSSSS
      The symbolic debugger (xxxxddddbbbb) command line option ----PPPP _p_r_o_c_e_s_s__I_D allows
      for the debugging of a free-running process.  To adopt a process, the
      effective user IDs of the debugger and the process to be adopted must
      match, or the effective user ID of the debugger must be _r_o_o_t.  When a
      process is adopted, it halts, and the debugger displays where the
      program is halted, at which point the program can be debugged.  If the
      user quits the debugger without killing the process, the debugger
      removes all breakpoints from the process and allows it to continue
      running.  If a program is designed to be adopted by the debugger when
      in a certain state (such as an error condition), it is important that
      the program do something such as enter an infinite loop, rather than
      calling the system routine sssslllleeeeeeeepppp(((()))) (see _s_l_e_e_p(3C)).  A sleeping
      program cannot be adopted correctly by the debugger, although a
      suspended process (i.e., blocked on a read) can be.

      When using the ----ssss command-line option with xxxxddddbbbb to debug shared
      libraries in an adopted process, prepare the _e_x_e_c_u_t_a_b_l_e__f_i_l_e by
      executing:

           ppppxxxxddddbbbb ----ssss oooonnnn  eeeexxxxeeeeccccuuuuttttaaaabbbblllleeee____ffffiiiilllleeee

      Once the file is prepared for debugging, run _e_x_e_c_u_t_a_b_l_e__f_i_l_e in the
      background and adopt it using:

           xxxxddddbbbb ----ssss ----PPPP  pppprrrroooocccceeeessssssss____IIIIDDDD eeeexxxxeeeeccccuuuuttttaaaabbbblllleeee____ffffiiiilllleeee

      The syntax for this use of the ppppxxxxddddbbbb command is:




 Hewlett-Packard Company           - 16 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




           ppppxxxxddddbbbb ----ssss  [[[[ oooonnnn |||| eeeennnnaaaabbbblllleeee ]]]] _f_i_l_e
                          Enables shared library debugging of the adopted
                          process by setting private data switches within
                          the _f_i_l_e.

           ppppxxxxddddbbbb ----ssss  [[[[ ooooffffffff |||| ddddiiiissssaaaabbbblllleeee ]]]] _f_i_l_e
                          Disables shared library debugging of the adopted
                          process by clearing private data switches within
                          the _f_i_l_e.

           ppppxxxxddddbbbb ----ssss  [[[[ ssssttttaaaattttuuuussss ]]]] _f_i_l_e
                          This command reports whether: shared-library
                          debugging is enabled or disabled, symbolic-
                          debugging information is present, or symbolic-
                          debug information has already been preprocessed.
                          _f_i_l_e is not changed when the ssssttttaaaattttuuuussss option is
                          given.  If all three conditions are true, an exit
                          value of 0 is returned; otherwise 1.

      Note that for the oooonnnn or ooooffffffff options, _f_i_l_e must be writable by the
      user.

 WWWWAAAARRRRNNNNIIIINNNNGGGGSSSS
      The debugger does not terminate on an interrupt (SSSSIIIIGGGGIIIINNNNTTTT); but jumps
      instead to its main loop and awaits another command.  However, this
      does not imply that sending the debugger an interrupt is harmless.  It
      can result in internal tables being left in an inconsistent state that
      could produce incorrect behavior.

      Code that is not compiled debuggable or does not have a corresponding
      source file is dealt with in a half-hearted manner.  The debugger
      shows uuuunnnnkkkknnnnoooowwwwnnnn for unknown file and procedure names, cannot show code
      locations or interpret parameter lists, etc.  However, the linker
      symbol table provides procedure names for most procedures, even if
      they are not debuggable.

      On some systems, if the debugger is run on a shared _o_b_j_e_c_t_f_i_l_e you
      cannot set breakpoints.  (This may only apply if someone else is also
      executing the program.) This may be indicated by the error "Bad
      access" when you attempt to start a child process.  If another person
      starts running _o_b_j_e_c_t_f_i_l_e while you are debugging, they and you may
      have some interesting interactions.

      The debugger will probably be unusable on systems that have been
      booted from something other than ////hhhhpppp----uuuuxxxx (such as if SSSSYYYYSSSSBBBBCCCCKKKKUUUUPPPP was
      booted instead on a Series 300/400 system).

      The debugger has no knowledge about or control over child processes
      forked in turn by the process being debugged.  Programs being debugged
      should not execute a different program via eeeexxxxeeeecccc(((()))) without a ffffoooorrrrkkkk(((())))
      (see _e_x_e_c(2) and _f_o_r_k(2)).



 Hewlett-Packard Company           - 17 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      Child process output may be (and usually is) buffered.  Hence it may
      not appear immediately after you step through an output statement such
      as pppprrrriiiinnnnttttffff(((()))) (see _p_r_i_n_t_f(3S)).  It may not appear at all if you kill
      the process.

      If the _a_d_d_r_e_s_s given to a bbbbaaaa command is not a code address in the
      child process, meaningless results or errors may ensue.

      Single stepping floating-point instructions may show delayed results
      for operations that are actually emulated via exception traps (e.g.
      ffffssssiiiinnnn on the Series 300/400 MC68040 processor).  Actual results will
      not be apparent until the next floating-point operation is performed.

      Debugging dynamically loaded code is inherently difficult, since no
      symbols within it are known to the debugger.

      If you set the address printing format to something _p_r_i_n_t_f(3S) does
      not like, you may get an error (usually memory fault) each time you
      try to print an address, until you fix the format with another ffff
      command.

      Do not use the zzzz command to manipulate the SSSSIIIIGGGGTTTTRRRRAAAAPPPP signal.  This
      signal is used by the debugger to synchronize with and control the
      traced process, and unpredictable results may occur if it is otherwise
      manipulated.  A corrolary to this is that applications that make use
      of the SSSSIIIIGGGGTTTTRRRRAAAAPPPP signal are at best difficult to debug.

      If you single step or run with assertions through a call to lllloooonnnnggggjjjjmmmmpppp(((())))
      (see _s_e_t_j_m_p(3C)), the child process will probably take off free-
      running because the debugger sets, but never hits, an up-level
      breakpoint.

      Do not modify any file while the debugger has it open.  If you do, the
      debugger gets confused and may display garbage.

      Although the debugger tries to do things reasonably, it is possible to
      confuse the recording mechanism.  Be careful about trying to play back
      from a file currently open for recording, or vice versa; strange
      things can happen.

      The output of some program generators such as yyyyaaaacccccccc have compiler-
      line-number directives in them that can confuse the debugger (see
      _y_a_c_c(1)).  It expects source line entries in the symbol table to
      appear in sorted order.

 DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
    SSSSeeeerrrriiiieeeessss 333300000000////444400000000
      The llllcccc command is not supported on the Series 300 or 400.

    SSSSeeeerrrriiiieeeessss 777700000000////888800000000 ((((PPPPAAAA----RRRRIIIISSSSCCCC))))
      All programs are shared executables.  This implies three limitations.



 Hewlett-Packard Company           - 18 -     HP-UX Release 9.0: August 1992






 xxxxddddbbbb((((1111))))                                                               xxxxddddbbbb((((1111))))




      You cannot set breakpoints or single step a program if another process
      is running it; the error message BBBBaaaadddd aaaacccccccceeeessssssss ttttoooo cccchhhhiiiilllldddd pppprrrroooocccceeeessssssss results.
      If debugging a program, and another process starts to run the same
      program, either through your process executing a ffffoooorrrrkkkk(((()))), or another
      process, such as a shell, executing an eeeexxxxeeeecccc(((()))), this second process can
      hit one of your breakpoints and generate a SIGTRAP.  You cannot single
      step through a call to ffffoooorrrrkkkk(((()))).

 AAAAUUUUTTTTHHHHOOOORRRR
      xxxxddddbbbb was developed by HP and Third Eye Software.

 FFFFIIIILLLLEEEESSSS
      aaaa....oooouuuutttt                       Default _o_b_j_e_c_t_f_i_l_e to debug.
      ccccoooorrrreeee                        Default _c_o_r_e_f_i_l_e to debug.
      ////uuuussssrrrr////lllliiiibbbb////xxxxddddbbbb....hhhheeeellllpppp           Text file listed by the hhhheeeellllpppp command.
      ////uuuussssrrrr////lllliiiibbbb////xxxxddddbbbb....hhhheeeellllpppp....nnnnrrrroooo       Unformatted text file used to generate
                                  xdb.help.
      ////uuuussssrrrr////lllliiiibbbb////eeeennnndddd....oooo              Auxiliary object file (support module) to
                                  link with all debuggable programs.
      ////uuuussssrrrr////lllliiiibbbb////nnnnllllssss////$$$$LLLLAAAANNNNGGGG////xxxxddddbbbb....ccccaaaatttt  The xdb message catalog.
      ////uuuussssrrrr////lllliiiibbbb////nnnnllllssss////$$$$LLLLAAAANNNNGGGG////ppppxxxxddddbbbb....ccccaaaatttt The pxdb message catalog.
      ////uuuussssrrrr////lllliiiibbbb////xxxxddddbbbb____ddddeeeemmmmoooossss////****        Demo files.
      $$$$HHHHOOOOMMMMEEEE////....xxxxddddbbbbrrrrcccc                The xdb startup command file.

 SSSSEEEEEEEE AAAALLLLSSSSOOOO
      adb(1), cc(1), echo(1), fc(1), ksh(1), ld(1), more(1), pc(1),
      creat(2), exec(2), fork(2), open(2), ptrace(2), ecvt(3C),
      multibyte(3C), printf(3S), setjmp(3C), shl_load(3X), system(3S),
      a.out(4), core(4), user(4), lang(5), signal(5).

      _H_P-_U_X _S_y_m_b_o_l_i_c _D_e_b_u_g_g_e_r _U_s_e_r'_s _G_u_i_d_e
      _H_P-_U_X _S_y_m_b_o_l_i_c _D_e_b_u_g_g_e_r _Q_u_i_c_k _R_e_f_e_r_e_n_c_e.






















 Hewlett-Packard Company           - 19 -     HP-UX Release 9.0: August 1992



