|
|
Microsoft OS/2 SDK PM 02-24-1989
BW03
IIntro to Help KKeyboard/Mouse RRun Commands DDisplay Commands EExpressions
WWatch/Break MMemory Operations SSystem Commands xRegular Expressions PProtected Mode ��p�� �0�4�� p�p�뇇�9p�?�tp�� � p d � �
� �
� V � � � l � #
�! R �$ *
((
B+ 2 t. �
B2 � <5 � �7 4 ; � �= �@ N �C � �F � >J � &M � ��K �# 1
�� �CODEVIEW (R) HELP SYSTEM� �
�You can enter the Help system in one of two ways:� �
� �1. Click on Help or press �ALT+H� to open the Help menu; then make a menu �
� � selection to go directly to a category (each has 1-4 screens).� �
� �2. By entering �H� or pressing �F1�, you go directly to this screen.� �
�Once in the Help system, move forward or backward to another screen by
� �clicking one of the selection boxes below, or pressing one of the indicated
� �hot keys. Colors and syntax used in the screens are described below:
�
�Headings and titles� �Headings�� �� �Indicates that �item� is� �[�item�]�
� �Key terms or punctuation �Key terms� �� � optional
� �Explanatory text� Text� �� �Indicates either �a� or �b� �a� �|� �b�
�Information you supply� �Placeholders�
�. �SCREEN 1 OF 1 (Introducing Help)
� �Description� ��
�Keyboard� �� � Mouse� �# 2
���������
� �Enter Help system� � �F1� � �� �Use �Help� menu
� �Open register window� � �F2� � �� �Use �Options� menu
� �Toggle display mode� � �F3� � �� �Use �View �menu
� �Switch to Output screen � �F4� � �� �Use� View� menu
� �Go� � �F5� � �� �Click left on �Go
� �Switch cursor window� � �� �F6� � �� �None
� �Execute cursor line� � �F7 �at location � � �� �Click right on source line
� �Trace through routine� � �F8� � �� �Click left on Trace
� �Set breakpoint at cursor � �F9 �at location �� � �� �Click left on source line
� �Step over routine� � �F10� � �� �Click right on Trace
� �Make window grow� � �CONTROL+G�
� �� �Drag line up or down
� �Make window tiny� � �CONTROL+T�
� �� �Drag line up or down
� �Scroll up a line� � Move cursor off top �� �Click left on up arrow
� �Scroll up a page� � �PGUP� � �� �Click above elevator
� �Scroll down a line� � Move cursor off bottom�� �Click left on down arrow
� �Scroll down a page� � �PGDN� � �� �Click below elevator
� �������SCREEN 1 OF 1 (Keyboard/Mouse)
� �Trace� �T �[�count�]� Executes current source line or� �# 3
� �� �(�F8�)� instruction. If �count� is given,
� �� �(Click left on �Trace�) repeats �count� times. Traces through
� �� �� routines and interrupts.
�
�Program Step �P �[�count�]� Executes current source line or
� �� �(�F10�)� instruction. If �count� is given,
� �� �(Click right on �Trace�) repeats �count� times. Steps over
� �� �� routines and interrupts.
�
�Go� �G �[�address�]�
Executes until debugger encounters
� �� �(�F5�)� �address�, a previously set breakpoint,
� �� �(Click on �Go�)� or the end of the program.
�
�Execute�� �E�� Executes in slow motion until you
��' �press a key.
�
�0 �SCREEN 1 OF 1 (Run Commands)
�Display Expression� ��0 �# 4
�
�?� �expression�[�,�format�] � �Evaluates �expression� and displays the value. If
�� �format� is given, the value is displayed in the
�� �corresponding format, as show below:
�
�Specifier� �Input Type� �Output Format
� �� ������'�
� �d �or� i �� �Integer � �� �Signed decimal integer
� �u� �� �Integer � �� �Unsigned decimal integer
� �o� �� �Integer � �� �Unsigned octal integer
� �x �or� X �� �Integer � �� �Hexadecimal integer
� �f� �� �Real� � �� �Floating point
� �e �or� E �� �Real� � �� �Scientific notation
� �g �or� G �� �Real� � �� �"E" or "f," whichever is more compact
� �c� �� �Character� �� �ASCII equivalent of character
� �s� �� �String � �� �C null-terminated string
� �� ������'�
� �Integers can have �l� or �s� prefix.� �SCREEN 1 OF 4 (Display Commands)
�Display Symbols� ��) �# 5
�
� �X�[�?�[�module�!�][�routine�.�]�symbol�|�*�]� Displays symbols as described below:
�
�����1�
� �X?�module�!�routine�.�symbol� �� �This �symbol� in �routine� in �module�.
� �X?�module�!�routine�.*� �� �All symbols in �routine� in �module�.
� �X?�module�!�symbol�� �� �This �symbol� in �module� (must be static).
� �X?�module�!*� �� �All static symbols in �module�. Will not find
� �� �� � local or dynamic variables.
� �X?�routine�.�symbol��
�� �This �symbol� in �routine�. Searches all modules.
� �X?�routine�.*� �� �All symbols in �routine�. Searches all modules.
� �X?�symbol�� �� �Looks for �symbol� in this order:
� �� �� � current routine, current module, all modules.
� �X?*� �� �All symbols in current routine.
� �X*� �� �All module names.
� �X� �� �All symbols in all modules.
�
�. �SCREEN 2 OF 4 (Display Commands)
� �Set Mode� �S�[�+�|�-�|�&�]��
�Sets display mode to source (�+�),� �# 6
� �� �� �assembly (�-�), or mixed (�&�).� �
�Current Location �.� �Puts current line in center of display�
�� �� �window.� �
�Stack Trace� �K� �Displays routines and their arguments.�
�� �(�ALT+C�)�� �The current routine is on top; the� �
�� �� �initial routine is on bottom�
�
�Unassemble� �U �[�range�]�� �Displays instructions in �range�. If no �
�� �� �range is given, scrolls down one screen.
�
�View� �V�[�expression�]�� �Displays source lines, starting at� �
� �V�[�.�[�file�:�]�line�]� �expression� or �line�. If �file� is given, �
�& �loads source file. If no arguments are�
�& �given, scrolls down one screen.� �
�. �SCREEN 3 OF 4 (Display Commands)
�Graphic Display Command� ��+ �# 7
�
�??�variable�[�,c�]� � �Displays value of �variable� in a dialog box in the
�� �center of the screen. If �variable� is a structure,
�� �record, or BASIC user-defined type, then each field
�� �of �variable� is displayed. Otherwise, exactly one
�� �field is displayed.
�
� �Select a field by clicking left on the same line as
�� �the field, or by moving the cursor and pressing
�� �ENTER. If the field is a pointer, the pointer is
�� �dereferenced. If the field is a structure, record,
�� �or user-defined type, the field is expanded. Click
�� �right or press the backspace key to return to
�� �previous display.
�
� �Press ESC or click left outside of dialog box to
�� �remove display.
��. �SCREEN 4 OF 4 (Display Commands)
�CodeView Expressions�
��* �# 8
�
�Expressions in CodeView commands consist of symbols, constants, and/or� �
�operators. Operators join symbols and constants into larger expressions. �
�For example, "+" joins the constants "4" and "5" in the expression "4+5". �
�Syntax for operators and constants is presented in the next two screens. �
�Changing Expression Evaluators� �
�USE� [�language�]� Changes evaluator to �AUTO�, �C�, or �BASIC�. If �language� is
�� �not given, displays current evaluator.
�
�You can also choose evaluators with the Language menu. �AUTO� uses source- �
�file extension to select evaluator (with C as default choice).�
�
�Notes on Extended Operators (�.� and �:�) �
�[�routine�.�]�variable� � �Local or global variable. �
�.�[�module�:�]�linenumber� � �Source-line address.� �SCREEN 1 OF 3 (Expressions)
�C Expressions� ��0 �# 9
�
�Precedence � �Operators� �� �Syntax� Radix� �
�����&�� �� �����
�highest 1 �� �()� �[]� �->� �.�� � �0�number� �� �Octal� �
�� 2 �� �!� �~� �-� �(�type�)� �++� �--� �*� �&� �sizeof� �0n�number� �� �Decimal� �
�� 3 �� �* / % :� � �0x�number� �� �Hexadecimal�
�� 4 �� �+ -�! � �� �����
�� 5 �� �< > <= >=� �
�� 6 �� �== !=� �� �Memory Operators
� �� 7 �� �&&�# � ����
�� 8 �� �||�# � �BY� �n� Return byte at �n�
�� 9 �� �= += -= *= /= %=� � �WO� �n� Return word at �n�
�lowest 10 �� �BY WO DW� � �DW� �n� Return dbl. word�
�����&�� ����
�See Screens #8 and #13 for use of extended �
�operators (�.� and �:�).� � �SCREEN 2 OF 3 (Expressions)
�BASIC Expressions� ��" �#10
��. � Constant� Radix� �
� �Precedence� Operators� �� ��
�����
�������� �number�� �� �Default radix �
� �highest 1 � �()� &O�number� �� �Octal�
�
�
�2 � �. :� &�number�� �� �Octal�
�
�
�3 � �+ - �(unary)�� &H�number� �� �Hexadecimal� �
�
�4 � �* /� ��
�����
�
�5 � �\ MOD� �
�
�6 � �+ - �(binary)�� � � Suffix� Type� �
�
�7 � �= <> < > <= >=� � �� �����
�
�8 � �NOT� �� �% � �� �Integer �
� �� 9 �� �AND� �� �& � �� �Long� �
� �� 10 �� �OR� �� �! � �� �Single �
� �� 11 �� �XOR� �� �# � �� �Double �
� �� 12 �� �EQV� � �� �����
� �� 13 �� �IMP� �See Screens #8 and #13 for use of
�� �lowest 14 �� �LET �variable� =� �extended operators (�.� and �:�).
� ��������
�SCREEN 3 OF 3 (Expressions)
�Watch� � �W? �expression�[�,�format�]� � �Displays �expression� in �format�, �#11
�Expression� � �W�[�type�]� �range�� � �or �range� in �type� format. See� �
�� � �� � �Screen #4 for format information,�
�� � �� � �and #14 for type information.� �
�
Watchpoint� � �WP? �expression�� � �Breaks execution when �expression�
�� � �� � �is true (non-zero).�
�
�
Tracepoint� � �TP? �expression�[�,�format�]� � �Breaks when �expression� or any �
�� � �TP�[�type�]� �range�� � �value in �range� changes. Displays�
�� � �� � �same as Watch Expression.� �
�
Watch List� � �W�� � �Lists watch statements.� �
�
Watch Delete � �Y �number�|�*�� � �Deletes indicated watch� �
�+ �statement, or all if �*� is given.�
�0 �SCREEN 1 OF 2 (Watch/Break)
�Breakpoint �BP �addr� �[�count�] [�"�cmnd�"�]� � �Sets breakpoint at address �addr�. If �#12
�Set� �� �count� is given, breakpoint is taken
�� �� �after �count� times. If �cmnd� is given,
�� �� � �the command is executed at each break.
�
Breakpoint �BC �list� �|� *� �Deletes breakpoints in �list�, or all
�Clear� �� �breakpoints if �*� is given instead.
�
Breakpoint �BD �list� �|� *� �Disables breakpoints in �list�, or all
�Disable� �� �breakpoints if �*� is given instead.
�
Breakpoint �BE �list� �|� *� �Enables breakpoints in �list�, or all
�Enable� �� �breakpoints if �*� is given instead.
�
Breakpoint �BL� �List breakpoints, including status,
�List� �� �location, pass count, and associated
��& �commands.
�
�0 �SCREEN 2 OF 2 (Watch/Break)
�Memory Type Formats--used with Dump, Watch, and Enter commands:� �#13
�
�A �� �ASCII-format string� �
�B �� �Byte (8-bit hexadecimal unsigned integer)� �
�I �� �Integer (16-bit decimal)� �
�U �� �Unsigned (16-bit decimal unsigned integer)� �
�W �� �Word (16-bit unsigned hexadecimal)� �
�D �� �Double Word (32-bit unsigned hexadecimal)� �
�S �� �Short Real (4 bytes)� �
�L �� �Long Real (8 bytes)� �
�T �� �Ten-byte Real�% �
�Specifying Addresses and Address Ranges� �
�expression1 �[�:�expression2�]� �Specifies offset or segmented address.� �
�address1 address2�� �Range from �address1� to �address2�.�
�
�address1 �L� size�� �Range beginning at �address1� and of length �
� �size�.�% �
�- �SCREEN 1 OF 3 (Memory Operations)
�Enter� �E�[�type�] �addr� [�list�]� �Enters values of �type�, beginning at �addr�. �#14
��
� �� �Debugger will prompt if �list� is not given. �
��
� �� �Items in �list� are separated by spaces.� �
�
Dump� �D�[�type�]� �[�range�]�� �Dumps values of �type� in �range�. Previous or �
��
� �� �default type assumed if �type� is not given. �
�
Assemble �A� �[�address�]�� �Assembles mnemonic instructions beginning� �
��
� �� �at �address�. Assumes next instruction if� �
��
� �� �address� is not given.� �
�
Register �R�[�reg �[�expression�]]� �Sets one of the following registers: �AX�,� BX�,� �
�
� �� �CX�,� DX�,� SP�,� BP�,� SI�,� DI�,� DS�,� ES�,� SS�,� CS�,� IP�, �
�
� �� �or 386 extended register.� �
�
�RF �[�flag�]� � �Sets a condition from one of these pairs:� �
� �OV�-�NV�,� DN�-�UP�,� EI�-�DI�,� NG�-�PL�,� ZR�-�NZ�,� AC�-�NA�,�� �
� �PE�-�PO�,� CY�-�NC�.� �
�- �SCREEN 2 OF 3 (Memory Operations)
�Search Memory� �S �range list�� �Displays each address in �range� that� �#15
�� � �� �begins a sequence matching each byte
�� � �� �in �list�.
�
Compare Memory �C �range address�� �Compares bytes in �range� to an equal-
�� � �� �sized block beginning at �address�.
�
Fill Memory� �F �range list�� �Fills �range� with byte values in �list�,
�� � �� �repeating values until �range� filled.
�
Move Memory� �M �range address�� �Copies values in �range� to an equal-
�� � �� �sized block beginning at �address�.
�
Port Input� �I �port��
�Displays value at �port�.
�Port Output� �O �port byte�� �Assigns �byte� to �port�.
�
�8087�
� �7�� �Displays 8087 registers and stack.
�
�- �SCREEN 3 OF 3 (Memory Operations)
�Help� �H� � �Enters CodeView Help System.� � �#16
�
Load� �L� [�arguments�]� � �Reloads program. Uses new command-line� �
��
� �� � �arguments� if given.� �
�
Option� �O�[{�F�|�B�|�C�|�3�}[�+�|�-�]] � �Sets (�+�), clears (�-�), or displays the� �
��
� �� � �status of �F�lip/Swap, �B�ytes Coded, �C�ase� �
��
� �� � �Sense, or �3�86 option.� �
�
Quit� �Q�� � �Exits the CodeView debugger.� �
�
Radix� �N� [�radix�]�
� �Sets radix to 8, 10, or 16, if �radix� is� �
��
�� � �given; otherwise displays current radix. �
�
Redraw� �@� � �Redraws display screen.� �
�- �SCREEN 1 OF 3 (System Commands)
��K �#17
�Screen Exchange �\��
Displays the output screen. Press any key� �
�� �� to return to the debugging screen.� �
�
Shell Escape� �!�[�command�]� Starts a new DOS shell and executes the� �
�� �� program or DOS command given as �command�. If � �
�� �� �command� is not given, user can enter commands�
�� �� from the DOS prompt, and then enter �EXIT� when�
�� �� ready to return to the DOS prompt.� �
�
Tab Set� �#�number�� Sets the number of spaces per tab, to �number�.�
�Text Selection � �mouse� �� �Selects text when the right mouse button is �
� �held down and the mouse is dragged right or �
� �left. The selected text appears in the next �
� �dialog box, or at the cursor position when �
� �SHIFT+INS is pressed.� �
�- �SCREEN 2 OF 3 (System Commands)
�Redirection Commands ��6 �#18
�
�[�T�]�>�[�>�]�device�� Redirects command output to �device� (file or device). If �
�� �T� given, output is echoed on CodeView screen. If second �
�� �>� given, output is appended.� �
�<�device�� Redirects command input from �device� (file or device). �
�=�device�� Redirects both command input and command output.� �
�Commands Used with Redirection �
�*�comment�� � �Displays �comment� but does not attempt to execute.� �
�"� � �Pauses until user presses a key.� �
�:� � �Delays for half a second.� �
�- �SCREEN 3 OF 3 (System Commands)
�Search Command� ��2 �#19
�
�/�[�regex�]� Searches from cursor line for �regex�, or previous regular� �
� �expression if regex not given--�regex� consists of text and �
� �(optionally) any of the following special characters:� �
�Character� � �Function�4 �
��
���>��
�\�� �� �Removes special meaning (if any) of next character, so� �
� �� �that it is treated as ordinary text. Special characters� �
� �� �are �\ . * [ ] ^ $�.�$ �
� �� ��
�.�� �� �Matches any character.�& �
� �� �� ��< �
�*�� �� �Matches zero or more repetitions of previous character.� �
� �� �� ��< �
�^� or �$� �� �� �Matches beginning or end of line, respectively.�
�
�Continued on next screen.� �SCREEN 1 OF 2 (Regular Expressions)
��K �#20
� �Character� � �Function� �
��
���>��
� ��
�[�characters�]� �� �Matches any of the characters within brackets. The� �
� �� �following characters have special meaning within brackets: �
� �^ �� �When appearing at the beginning of characters,� �
� �� �reverses the function of the brackets so that all �
� �� �characters will be matched except those in the� �
� �� �brackets. (Example: "[^a]" matches all characters �
� �� �except "a.")�' �
� �� ��3 �
� �-� �� �Matches characters in range specified by characters�
� �� �on either side of �-�. (Example: "[a-c]" matches "a,"�
� �� �"b," or "c.") To nullify special meaning of �-�,� �
� �� �place at start or end of characters. (Example:� �
� �� �"[-ac]".)�* �
�+ �SCREEN 2 OF 2 (Regular Expressions)
�Thread Command�
��3 �#21
�
�~�[�specifier�[�command�]] � �Performs �command� on thread(s) denoted by� �
� �specifier�. Legal values of �specifer� and� �
� �command� given below and on following screens. �
�Specifier� ��
�Description �
�����3��
�(blank)� �� �� �Displays the status of all threads.�
�
� �� ��- �
�#� �� �� �Specifies last thread executed.� �
��
�� �� ��- �
�*� �� �� �Specifies all threads.� �
��
�� �� ��- �
�n�� �� �� �Specifies indicated thread by numeric value. �
��
�� �� ��- �
�.� �� �� �Specifies current thread.� �
�0 �SCREEN 1 OF 4 (Protected Mode)
� �Command� ��
�Description� ��
�#22
� �����3��
�(blank) ��
�� �Status of selected thread(s) is displayed.� �
� �� ��. �
�BP� �� �� �Breakpoint is set for the specified thread(s).�
�� �� �� �This command is followed by the normal� �
�� �� �� �breakpoint syntax (see Screen #12).� �
�� �� �� ��. �
�E�
�� �� �Specified thread is executed in slow motion, �
�� �� �� �while other threads are frozen. �~*E� is legal �
�� �� �� �only in source mode; it executes current� �
�� �� �� �thread, while other threads run concurrently. �
�� �� �� ��. �
�F�
�� �� �Specified thread(s) is frozen.� �
�� �� �� ��. �
�G�
�� �� �Control is passed to specified thread, while �
� �� �other threads are frozen. �~*G� runs all threads�
� �� �concurrently.�! �
�0 �SCREEN 2 OF 4 (Protected Mode)
� �Command� �� �Description ��! �#23
� �����3��
�P� �� �� �A program step is executed for the specified� �
��
�� �� �thread, while other threads are frozen. �~*P� is �
��
�� �� �legal only in source mode; it executes a program�
��
�� �� �step for current thread, while other threads run�
��
�� �� �concurrently.�# �
��
�� �� ��0 �
�S� �� �� �Specified thread is selected as current thread. �
��
�� �� ��0 �
�T� �� �� �Similar to �P�, except that �T� traces through� �
��
�� �� �function on calls and �P� does not.� �
��
�� �� ��0 �
�U� �� �� �Specified thread is unfrozen.� �
�0 �SCREEN 3 OF 4 (Protected Mode)
�Process Command� ��5 �#24
�
�|�[�pid�[�s�]]�
� �Displays status for process with given �pid� (process �
� �id), or status of all child processes if �pid� not� �
� �specified. Switches to another process if both �pid� �
� �and �s� specified. �Pid� can be a constant or a symbol. �
�Command Usage �� �Description� �
�����9��
�|�
�� �� �Displays status of all child processes.�
�
�|*� �� �� ��1 �
�� �� �� ��1 �
�|�pid�� �� �� �Displays status for given child process.� �
�� �� �� ��1 �
�|�pid�s� �� �� �Switches screen group to debugging session for �
� �� �pid�, which must be an immediate child.� �
�0 �SCREEN 4 OF 4 (Protected Mode)
=========Execute Code========== ================Examine Data=================
T [<count>] ............. Trace ? <expr>[,format] ........ Display Expression
P [<count>] ...... Program Step X?[mod!][fun.][sym][*] ...... Examine Symbols
G [<addr>] ................. Go D[<type>] [<range>] .................... Dump
E ..................... Execute R [<reg>] [[=]<expr>] .............. Register
L [<args>] ............ Restart 7 ........................ 8087 Register Dump
=================Breakpoints==================== =======Watch Statements======
BP [<addr>] [<count>] ["<cmd>"] . Breakpoint Set W? <expr> ............. Watch
BC [<list>] ................... Breakpoint Clear W[<type>] <range> ..... Watch
BD [<list>] ................. Breakpoint Disable WP? <expr> ....... Watchpoint
BE [<list>] .................. Breakpoint Enable TP? <expr> ....... Tracepoint
BL ............................. Breakpoint List TP[<type> <range> Tracepoint
=====================Modify===================== Y<list> ........ Delete Watch
A [<addr>] ............................ Assemble W ................ List Watch
E[<type>] <addr> [<list>] ................ Enter =========Redirection=========
=====Examine Source===== ====System Control==== [T]>[>]<device> . Send Output
S[+|-|&] ...... Set Mode N[<radix>] . Set Radix <<device> ..... Receive Input
U [<range>] . Unassemble Q ............... Quit =<device> ..... Redirect Both
V [<addr>] . View Source /[<regex>] .... Search " ..................... Pause
. ..... Current Location \ .... Screen Exchange : ..................... Delay
K .......... Stack Trace #[<num>] ..... Tab Set *[<comment>] ........ Comment
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.