PRCV9108002: CodeView Runs Instead of Tracing a MASM 6.0 .EXE

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