Microsoft KB Archive/122140

{|
 * width="100%"|

PRB: Debugger Single Step Steps Over Multiple Instructions

 * }

Q122140

1.00 1.50 1.51 WINDOWS kbtool kbusage kbtshoot kbprb - The information in this article applies to: - The Visual Workbench Integrated Debugger included with: Microsoft Visual C++ for Windows, versions 1.0, 1.5, and 1.51 - Microsoft CodeView for MS-DOS, version 4.1 - Microsoft CodeView for Windows, version 4.1 - SYMPTOMS ======== Stepping through code in the Visual Workbench Integrated Debugger or CodeView in assembly mode should execute a single assembler instruction at a time. However, under certain conditions, the debugger steps over multiple instructions. CAUSE ===== Some instructions disable sampling of interrupts before the next instruction is executed. Because a single step is handled by an interrupt, the debugger cannot single step if interrupts are disabled. For example, here's a common scenario: On 8086- and 8088-based computers, sampling of interrupts is disabled for the instruction after using MOV to move to any segment register. On 80286- based and higher computers, sampling of interrupts is disabled only after using MOV to move to SS. NOTE: Both SS and SP must be initialized to make the stack valid. If an interrupt occurs after SS is changed but before SP is changed, the stack may not be valid. Therefore it's a good idea to always initialize the stack by initializing SS first. STATUS ====== This behavior is by design. Additional reference words: 4.10 1.00 1.50 1.51 KBCategory: kbtool kbusage kbtshoot kbprb KBSubcategory: WBDebug CvwIss

Keywords : kb16bitonly

Issue type :

Technology :