This DPMI 0.9 Specification is hosted by Tenberry Software, Inc.

19. Debug Register Support


[Next Section] * [Previous Section] * [DPMI Index]
[Tenberry Home] * [Software Quality] * [DOS/4G] * [DOS/4GW] * [DOS/16M]

The 80386 processor supports special registers that are used for debugging. Since the instructions to modify these registers can only be executed by code running at privileged level zero, protected mode debuggers running in DPMI environments can not modify the registers directly. These services provide mechanisms for setting and clearing debug watchpoints and detecting when a watchpoint has caused a fault.


19.1 Set Debug Watchpoint

This function will set a debug watchpoint at a specified linear address.

To Call

     AX = 0B00h
     BX:CX = Linear address of watchpoint
     DL = Size of watchpoint (1, 2, or 4)
     DH = Type of watchpoint
          0 = Execute
          1 = Write
          2 = Read/Write

Returns

     If function was successful:
     Carry flag is clear
     BX = Debug watchpoint handle

     If function was not successful:
     Carry flag is set

Programmer's Notes

None.


19.2 Clear Debug Watchpoint

This function will clear a debug watchpoint that was set using the Set Debug Watchpoint function.

To Call

     AX = 0B01h
     BX = Debug watchpoint handle

Returns

     If function was successful:
     Carry flag is clear

     If function was not successful:
     Carry flag is set

Programmer's Notes


19.3 Get State of Debug Watchpoint

This function returns the state of a debug watchpoint that was set using the Set Debug Watchpoint function.

To Call

     AX = 0B02h
     BX = Debug Watchpoint Handle

Returns

     If function was successful:
     Carry flag is clear
     AX = Status flags
          Bit 0 = 1 if watch point has been executed

     If function was not successful:
     Carry flag is set

Programmer's Notes


19.4 Reset Debug Watchpoint

This function resets the state of a previously defined debug watchpoint.

To Call

     AX = 0B03h
     BX = Debug Watchpoint Handle

Returns

     If function was successful:
     Carry flag is clear

     If function was not successful:
     Carry flag is set

Programmer's Notes

None.


[Next Section] * [Previous Section] * [DPMI Index]
[Tenberry Home] * [Software Quality] * [DOS/4G] * [DOS/4GW] * [DOS/16M]
This HTML edition of the DPMI 0.9 Specification is hosted by Tenberry Software, Inc., makers of the DOS/16M and the DOS/4G family of DOS extenders. Page last modified 2003.1.28, <webmaster@tenberry.com>