Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-debug-dev] Out of synch code.

Sounds good.

I think we should steer away from clicking to figure out what the X & !
mean.  Clicking usually means select, which changes input to other views,
etc.  I much perfer the mouse over help.

jkca



                                                                                                                    
                    Jared_Burns@xxxxxxx                                                                             
                    Sent by:                     To:     jdt-debug-dev@xxxxxxxxxxx                                  
                    jdt-debug-dev-admin@e        cc:                                                                
                    clipse.org                   Subject:     [jdt-debug-dev] Out of synch code.                    
                                                                                                                    
                                                                                                                    
                    11/16/2001 04:51 PM                                                                             
                    Please respond to                                                                               
                    jdt-debug-dev                                                                                   
                                                                                                                    
                                                                                                                    



Issue:
- We want to show the user if the code running on the VM is the same as
the code in the editor

Scenarios where this is necessary:
- Failed HCR. The code on the VM is the old code for the duration of the
run.
- Successful HCR, failed drop to frame. The code on the VM is the old code
until the next time the changed code is called.

UI recommendation:
After either of the above scenarios occurs:
- When suspended, out of synch stack frames (and parent thread, target)
should render with a small red X in a circle (shrunken marker from the
editors) appearing in the top left corner of the icon. Mousing over or
clicking on the icon, will yield pop-up help informing the user that the
code running in the VM is not the same as the code in the workspace.
- When running, threads (and parent target) will render with a small
yellow exclamation point in a triangle (again, shrunken marker from the
editors) appearing in the top left corner of the icon. Mousing over of
clicking on the icon will yield pop-up help informing the user that the
code running in the VM may not be the same as the code in the workspace.
Red X's will take precedence over yellow !'s.

Implementation:
- Add API to JDIDebugElement:
        #isOutOfSynch
        #mayBeOutOfSynch
        JDIModelPresentation uses this API to determine rendering
- Add API to JDIDebugTarget:
        #hasHCRFailed
JDIDebugTarget records which types have failed an HCR.
        JDIStackFrame answers #is/mayBe OutOfSynch by asking the
                debug target if hasHCRFailed and if the type it is in has
failed an HCR.
                Stack frames will also be responsible for remembering when
a drop to
                frame failed for their type after an HCR. If this is true,
it will answer yes to
                isOutOfSynch.
        When suspended, JDIThread answers #is/mayBe OutOfSynch
                by asking its stack frames if they are/may be out of synch
        When running, JDIThread answers #is/mayBe OutOfSynch by asking
                its debug target if hasHCRFailed.
        JDIDebugTarget answers #is/mayBe OutOfSynch by asking its threads
                if they are/may be out of synch

_______________________________________________
jdt-debug-dev mailing list
jdt-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/jdt-debug-dev






Back to the top