File:  [OS/2 SDKs] / os2sdk / os2doc / utils.txt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:25:13 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1987, HEAD
Microsoft OS/2 SDK 12-15-1987

    This is the new proposed CodeView user interface for thread debugging
    under OS/2.

    ------

    ~ | * - all threads             | F  - freeze     |
      | n - threadID n              | U  - unfreeze   |
      | # - last running thread     | S  - select     |
      | . - current selected thread |    - status     |
                                    | BP - breakpoint |
                                    | T  - trace      |
                                    | P  - pstep      |
                                    | G  - go         |
                                    | E  - execute    |



    Freeze
    ------
    ~*F - freeze all threads
    ~5F - freeze thread 5
    ~#F - freeze last thread which ran
    ~.F - freeze current selected thread

    Unfreeze
    --------
    ~*U  - unfreeze all threads
    ~5U  - unfreeze thread 5
    ~#U  - unfreeze last thread which ran
    ~.U  - unfreeze current selected thread

    Select - displays selected thread on screen
    ------
    ~*S  - SYNTAX ERROR (can't select all threads)
    ~5S  - select thread 5
    ~#S  - select last thread which ran
    ~.S  - select current selected thread (NOP)

    <blank> - displays thread status
    ------
    NOTE:  this command not currently available.
           if used with OS/2 1.00, displays:
          "Thread status unavailable with this version of OS/2"

    ~*   - show status for all threads
    ~5   _ show status for thread 5
    ~#   - show status for last thread which ran
    ~.   - show status for current selected thread

    Format of status display:
      ThreadID    ThreadState    ThreadPriority

    ThreadState is one of the following:
      Runnable
      Suspended
      Blocked
      CritSection
      Frozen

    BreakPoint
    ----------
    NOTE:  when a breakpoint is hit, the thread which hit the
           breakpoint is made the current selected thread

    ~*BP - set breakpoint process wide (all threads)
    ~5BP - set breakpoint for thread 5 only
    ~#BP - set breakpoint for last running thread only
    ~.BP - set breakpoint for current selected thread only

    Trace (source mode)
    -----
    NOTE:  tracing a specific thread does not force it to be the selected thread

    ~*T  - all unfrozen threads run until current selected thread hits next source line
    ~5T  - only thread 5 runs to next source line (all others temporarily frozen)
    ~#T  - only last running thread runs to next source line
    ~.T  - only current selected thread runs to next source line

    Trace (assembly mode)
    -----
    NOTE:  tracing a specific thread does not force it to be the selected thread

    ~*T  - SYNTAX ERROR (not implemented)
    ~5T  - only thread 5 single steps
    ~#T  - only last running thread single steps
    ~.T  - only current selected thread single steps

    Pstep (source mode)
    -----
    NOTE:  pstepping a specific thread does not force it to be the selected thread

    ~*P  - all unfrozen threads run until current selected thread hits next source line
    ~5P  - only thread 5 runs to next source line (all others temporarily frozen)
    ~#P  - only last running thread runs to next source line
    ~.P  - only current selected thread runs to next source line

    Pstep (assembly mode)
    -----
    NOTE:  pstepping a specific thread does not force it to be the selected thread

    ~*P  - SYNTAX ERROR (not implemented)
    ~5P  - only thread 5 steps
    ~#P  - only last running thread steps
    ~.P  - only current selected thread single steps

    Go
    --
    NOTE:  go with a specific thread does not force it to be the selected thread

    ~*G  - all unfrozen threads run until a breakpoint is hit, or until process terminates
    ~5G  - only thread 5 runs (all other threads temporarliy frozen)
    ~#G  - only last running thread runs
    ~.G  - only current selected thread runs

    Execute
    -------
    NOTE:  execute forces specified thread to be selected

    ~*E  - all unfrozen threads execute but current selected thread stays selected
    ~5E  - only thread 5 executes (all other threads temporarliy frozen)
    ~#E  - only last running thread executes
    ~.E  - only current selected thread executes

    -----------------

    When you specify a specific thread for T,P,G or E, the thread
    is temporarily unfrozen for the command even if the user froze it.

    NOTE:
       If you use T,P,G or E on a specific thread or current selected thread and
       the thread dies, then CodeView will display:
         Thread terminated normally (0)

    If the current selected thread terminates, the user will have to select
    another thread before using T,P or E.

    -----------------

    Affects of other CodeView commands:

    BP                means ~*BP
    T (source mode)   means ~*T
    T (assembly mode) means ~.T
    P (source mode)   means ~*P
    P (assembly mode) means ~.P
    G                 means ~*G
    E                 means ~*E

    -----------------

    New CodeView error messages:

        Thread status unavailable with this version of OS/2
        Invalid thread ID
        Thread blocked
        All threads frozen

    -----------------

    The CodeView prompt will change from
    >
    to
    nnn>
    where nnn is the current selected thread, thus upon startup the
    prompt will be
    001>

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.