|
|
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.