community.borland.com

Article #19042: TA - NONFUNCTIONAL CONDITIONAL BREAKPOINT

 Technical Notes Database

TN4042C.txt   TA  - NONFUNCTIONAL CONDITIONAL BREAKPOINT
Category   :Pascal
Platform    :All
Product    :TD  1.x 2.0

Description:
Q.   How do I get my conditional breakpoint to work?  I know
     that the condition is true but it still will not break.
A.   If when using the conditional breakpoints and expression
     true condition the break does not occur, check to be sure
     that the condition is really true by evaluating the
     expression in the evaluate window.  For example, the
     following will not break correctly.
     .data
      nptr  dw ?
     .code
     start:
          mov ax,@data
          mov ds,ax
          mov [nptr], 0fffH
          mov dx,5           ;set a conditional break here
     ;break if the expression ds:[WORD PTR nptr] EQ 0fffh
     ;this break will fail
     ;if you evaluate this expression in the evaluate
     ;window it will evaluate to false.  This particular
     ;expression requires parenthesis around the ds:expression
     ;to bind the segment overide to the memory referencing
     ;expression
     ;The correct syntax is (ds:[WORD PTR nptr]) EQ 0fffh
     The key here is to use the evaluate window to see how the
     debugger is parsing the expression.


Reference:


7/2/98 10:45:33 AM
 

Last Modified: 01-SEP-99