|
|
1.1 root 1: This is the new proposed CodeView user interface for thread debugging
2: under OS/2.
3:
4: ------
5:
6: ~ | * - all threads | F - freeze |
7: | n - threadID n | U - unfreeze |
8: | # - last running thread | S - select |
9: | . - current selected thread | - status |
10: | BP - breakpoint |
11: | T - trace |
12: | P - pstep |
13: | G - go |
14: | E - execute |
15:
16:
17:
18: Freeze
19: ------
20: ~*F - freeze all threads
21: ~5F - freeze thread 5
22: ~#F - freeze last thread which ran
23: ~.F - freeze current selected thread
24:
25: Unfreeze
26: --------
27: ~*U - unfreeze all threads
28: ~5U - unfreeze thread 5
29: ~#U - unfreeze last thread which ran
30: ~.U - unfreeze current selected thread
31:
32: Select - displays selected thread on screen
33: ------
34: ~*S - SYNTAX ERROR (can't select all threads)
35: ~5S - select thread 5
36: ~#S - select last thread which ran
37: ~.S - select current selected thread (NOP)
38:
39: <blank> - displays thread status
40: ------
41: NOTE: this command not currently available.
42: if used with OS/2 1.00, displays:
43: "Thread status unavailable with this version of OS/2"
44:
45: ~* - show status for all threads
46: ~5 _ show status for thread 5
47: ~# - show status for last thread which ran
48: ~. - show status for current selected thread
49:
50: Format of status display:
51: ThreadID ThreadState ThreadPriority
52:
53: ThreadState is one of the following:
54: Runnable
55: Suspended
56: Blocked
57: CritSection
58: Frozen
59:
60: BreakPoint
61: ----------
62: NOTE: when a breakpoint is hit, the thread which hit the
63: breakpoint is made the current selected thread
64:
65: ~*BP - set breakpoint process wide (all threads)
66: ~5BP - set breakpoint for thread 5 only
67: ~#BP - set breakpoint for last running thread only
68: ~.BP - set breakpoint for current selected thread only
69:
70: Trace (source mode)
71: -----
72: NOTE: tracing a specific thread does not force it to be the selected thread
73:
74: ~*T - all unfrozen threads run until current selected thread hits next source line
75: ~5T - only thread 5 runs to next source line (all others temporarily frozen)
76: ~#T - only last running thread runs to next source line
77: ~.T - only current selected thread runs to next source line
78:
79: Trace (assembly mode)
80: -----
81: NOTE: tracing a specific thread does not force it to be the selected thread
82:
83: ~*T - SYNTAX ERROR (not implemented)
84: ~5T - only thread 5 single steps
85: ~#T - only last running thread single steps
86: ~.T - only current selected thread single steps
87:
88: Pstep (source mode)
89: -----
90: NOTE: pstepping a specific thread does not force it to be the selected thread
91:
92: ~*P - all unfrozen threads run until current selected thread hits next source line
93: ~5P - only thread 5 runs to next source line (all others temporarily frozen)
94: ~#P - only last running thread runs to next source line
95: ~.P - only current selected thread runs to next source line
96:
97: Pstep (assembly mode)
98: -----
99: NOTE: pstepping a specific thread does not force it to be the selected thread
100:
101: ~*P - SYNTAX ERROR (not implemented)
102: ~5P - only thread 5 steps
103: ~#P - only last running thread steps
104: ~.P - only current selected thread single steps
105:
106: Go
107: --
108: NOTE: go with a specific thread does not force it to be the selected thread
109:
110: ~*G - all unfrozen threads run until a breakpoint is hit, or until process terminates
111: ~5G - only thread 5 runs (all other threads temporarliy frozen)
112: ~#G - only last running thread runs
113: ~.G - only current selected thread runs
114:
115: Execute
116: -------
117: NOTE: execute forces specified thread to be selected
118:
119: ~*E - all unfrozen threads execute but current selected thread stays selected
120: ~5E - only thread 5 executes (all other threads temporarliy frozen)
121: ~#E - only last running thread executes
122: ~.E - only current selected thread executes
123:
124: -----------------
125:
126: When you specify a specific thread for T,P,G or E, the thread
127: is temporarily unfrozen for the command even if the user froze it.
128:
129: NOTE:
130: If you use T,P,G or E on a specific thread or current selected thread and
131: the thread dies, then CodeView will display:
132: Thread terminated normally (0)
133:
134: If the current selected thread terminates, the user will have to select
135: another thread before using T,P or E.
136:
137: -----------------
138:
139: Affects of other CodeView commands:
140:
141: BP means ~*BP
142: T (source mode) means ~*T
143: T (assembly mode) means ~.T
144: P (source mode) means ~*P
145: P (assembly mode) means ~.P
146: G means ~*G
147: E means ~*E
148:
149: -----------------
150:
151: New CodeView error messages:
152:
153: Thread status unavailable with this version of OS/2
154: Invalid thread ID
155: Thread blocked
156: All threads frozen
157:
158: -----------------
159:
160: The CodeView prompt will change from
161: >
162: to
163: nnn>
164: where nnn is the current selected thread, thus upon startup the
165: prompt will be
166: 001>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.