Annotation of pmsdk/samples/notes/cvp, revision 1.1

1.1     ! root        1:                      Differences Document for the
        !             2:                   Microsoft (R) CodeView (R) Debugger
        !             3:                            for Version 2.3
        !             4: 
        !             5:                  (C) Copyright Microsoft Corporation, 1989
        !             6: 
        !             7: 
        !             8: This file contains release notes for the Microsoft (R) CodeView (R),
        !             9: and notes differences between Version 2.3 and 2.2 of the debugger.
        !            10: 
        !            11: 
        !            12: ===========================< Contents >==========================
        !            13: 
        !            14: This file has two parts.
        !            15: 
        !            16:     Part    Note
        !            17:     ----    ----
        !            18:     1       Improved general capabilities of the debugger
        !            19:     2       Debugging child processes
        !            20:     3       Viewing process status
        !            21:     4       Switching to a child processes
        !            22: 
        !            23: 
        !            24: =========< Part 1: Improved Capabilities of the Debugger >=======
        !            25: 
        !            26: 
        !            27: While running under Version 2.3 of CodeView the program being debugged
        !            28: has complete access to environment variables, including the PATH
        !            29: variable. Previous versions of CodeView did not guarantee access to the
        !            30: environment.
        !            31: 
        !            32: Version 2.3 of CodeView is VIO-window compatible, and can therefore
        !            33: run as a Presentation Manager application under OS/2 systems.
        !            34: 
        !            35: 
        !            36: ============< Part 2: Debugging Multiple Processes >=============
        !            37: 
        !            38: 
        !            39: To enable debugging of multiple processes, you must first start up 
        !            40: CodeView with the /O (offspring) option. The syntax of this option 
        !            41: is simple, as it takes no arguments.
        !            42: 
        !            43: If you do not use the /O option, CodeView lets your program spawn new
        !            44: processes, but you will not be able to view or trace through these
        !            45: processes. They run in the background as far as CodeView is concerned.
        !            46: 
        !            47: For example, to debug multiple processes of the program SPACEMAN.EXE you
        !            48: would use the following command:
        !            49: 
        !            50: CVP /O SPACEMAN
        !            51: 
        !            52: The /O option has two limitations:
        !            53: 
        !            54: 1. You must have OS/2 Version 1.1 or later to use it.
        !            55: 
        !            56: 2. This option is incompatible with the /2 option.
        !            57: 
        !            58: The rest of this section assumes that you have successfully started 
        !            59: CodeView with the /O option.
        !            60: 
        !            61: Every time your program executes a line of code that spawns a child
        !            62: process, CodeView responds by displaying the process ID number (Pid) and
        !            63: asking if you wish to debug the child process. The message displayed is
        !            64: similar to the following:
        !            65: 
        !            66: Pid 24 started. Do you wish to debug (y/n)?
        !            67: 
        !            68: To debug the child process, type Y and then press ENTER. Type any other
        !            69: letter for no. CodeView takes a different course of action depending on
        !            70: your response:
        !            71: 
        !            72: 1. If you respond yes (Y), CodeView spawns a new CodeView process. This
        !            73:    process controls execution of your program's child process. Each
        !            74:    instance of CodeView spawned in this way becomes a separate debugging
        !            75:    session.
        !            76: 
        !            77:    A new process runs in the same screen group as its parent process
        !            78:    (unless you call the DosStartSession system function). Using CodeView
        !            79:    does not change this. However, each new instance of CodeView always
        !            80:    runs in its own screen group. Since OS/2 supports a maximum of 16
        !            81:    screen groups, the number of child processes that you can debug at
        !            82:    one time is limited.
        !            83: 
        !            84: 2. If you respond no (N), CodeView lets the program spawn the child process.
        !            85:    However, you will not be able to control or trace the child process
        !            86:    with CodeView. The child process is active but not accessible to
        !            87:    CodeView commands.
        !            88: 
        !            89: You can move between different CodeView processes in the following two
        !            90: ways: by using the OS/2 Session Manager or the Process command (|). The
        !            91: Process command, in turn, has two forms. You can use this command to
        !            92: view status of child processes or to switch directly to the debugging
        !            93: session of the child process.
        !            94: 
        !            95: You may need to make note of process ID numbers when CodeView spawns a
        !            96: process. CodeView identifies multiple processes only by their ID
        !            97: numbers.
        !            98: 
        !            99: 
        !           100: ==============< Part 3: Viewing Process Status >================
        !           101: 
        !           102: 
        !           103: To view the status of the child processes (of the current process), 
        !           104: enter the Process command followed by no arguments:
        !           105: 
        !           106: |
        !           107: 
        !           108: CodeView responds by displaying three fields: process ID number, session 
        !           109: (screen group) ID number, and yes or no, depending on whether or not 
        !           110: each process has its own instance of CodeView. The following example 
        !           111: shows a sample process status for a process with three children:
        !           112: 
        !           113: 001>|
        !           114: ProcessID   SessionID   Debugging
        !           115: 00024       00006       Yes
        !           116: 00026       00006       Yes
        !           117: 00028       00006       No
        !           118: 
        !           119: In the example above, only processes 24 and 26 can be debugged. Each 
        !           120: of these processes corresponds to a different instance of CodeView, 
        !           121: and each instance runs in a separate screen group. Process 28 is active 
        !           122: but cannot be debugged.
        !           123: 
        !           124: 
        !           125: ============< Part 4: Debugging Multiple Processes >=============
        !           126: 
        !           127: 
        !           128: If a child process can be debugged, you can switch to that process 
        !           129: directly by using the Process command. Use of this command accomplishes 
        !           130: the same end as using the Session Manager but is more direct.
        !           131: 
        !           132: To switch to the debugging session for a child process, enter the 
        !           133: Process command with the following syntax:
        !           134: 
        !           135: | <processID>
        !           136: 
        !           137: in which <processID> is the process ID (Pid) of the process you wish to
        !           138: debug.
        !           139: 
        !           140: The Process command only works with direct children. In other words, you
        !           141: can spawn a child which in turns spawns another child. The Process
        !           142: command does not give you direct access to the <169>grandchild.<170>
        !           143: Instead, you must switch to the intermediate parent.
        !           144: 
        !           145: To return to debugging a parent or grandparent, you must use the OS/2
        !           146: Session Manager.

unix.superglobalmegacorp.com

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