ID Number: Q75220
3.00 3.10 3.11 3.12 3.14 | 3.00 3.10 3.11 3.12 3.50
MS-DOS | OS/2
buglist3.50 buglist3.14
Summary:
PROBLEM ID: CV9108002
SYMPTOMS
When using the Microsoft CodeView Debugger version 3.0, 3.1, 3.11,
3.12, 3.14, or 3.5 to debug an assembler routine assembled with the
Microsoft Macro Assembler (MASM) version 6.0, if the first
instruction in the assembly code is within a procedure named
"main", then the debugger cannot trace through it. When the .EXE
file is loaded into CodeView, pressing the F8 or F10 key to trace
into or step over a line of code causes the entire program to be
executed as though the F5 key was pressed.
RESOLUTION/STATUS
Some possible workarounds are listed below:
1. Change the procedure name to anything other than "main".
2. Switch into mixed source/assembly mode and step through the
first line of code. Then switch back to source mode and
everything will work as expected.
3. Insert an instruction just before the procedure. This will be
executed first.
4. Set a breakpoint on the second instruction and run to the
breakpoint. From then on tracing will function properly.
Microsoft has confirmed this to be a problem in CodeView versions
3.0, 3.1, 3.11, 3.12, 3.14, and 3.5. We are researching this
problem and will post new information here as it becomes available.
More Information:
The sample code below demonstrates a problem with CodeView when
tracing through an assembler routine:
Sample Code
-----------
; Assemble options needed: /Zi
.MODEL SMALL
.CODE
start:
;nop ;uncomment this for work-around
main PROC
nop
mov ah,4CH
int 21H
main ENDP
END start
Additional reference words: buglist3.10 buglist3.00 3.00 3.10 3.50