Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] Debug View looses focus on rapid stepping

Flexible hierarchy is a provisional API for generically populating and controlling debugger views.  It allows a debugger to provide a custom integration for its model, with much more flexibility than the standard debug model API.  There is implementation of these APIs provided for the standard debug model which JDT, CDT, and all other standard debug model debuggers use.  However JDT and other debuggers also override this implementation to provide custom elements into the debuger views.  In the Device Debugging project, we're working on a debugger framework which does not use the standard debug model and implements its own, completely custom integration with the flexible hierarchy APIs.

Getting back to your specific problem though.  It is certainly possible to solve your problem with the standard debug model.  JDT does it and other debuggers do as well.  There is a lot of timing issues involved here though, and without debugging them it's impossible for me to tell what your exact problem may be, while my suggestions were just pitfalls that I've encountered in the past in Wind River's debugger.

I'm sorry I can't help you more
-Pawel

Vladimir Gusev wrote:
Hi Pawel,

A valid top stack frame is returned irrespective of the stepping speed, even when the focus is lost. What is Flexible Hierarchy view API you mention? Is Eclipse Java debugger using it? Is there an additional (beside isStepping and getTopStackFrame) means to guarantee the focus on the top stack frame?

Thanks a lot.

Xsu

On Thu, May 22, 2008 at 7:15 PM, Pawel Piech <pawel.piech@xxxxxxxxxxxxx> wrote:
Hi Gusev,
The simple answer is to make sure that your program always return ture of IThread.isStepping() and always returns a valid stack frame for IThread.getTopStackFrame().  But in practice, this actually can turn out to be a very complicated problem, and if you really want total control over what is selected in Debug view and when, you will likely need to program using the Flexible Hierarchy view APIs. 

Cheers,
Pawel

Vladimir Gusev wrote:
Hello!

In a custom debugger, a stack frame in Debug View is decorated with images, calculated on the fly for a given stack frame. In the case when stack becomes big AND the user hits F6 (steps) with a speed above some threshold (roughly, so that the stack does not have a chance to refresh due to a previous suspend event), the top frame looses focus, and subsequent F6 actions have no effect.

An unexperienced user - the major audience of this debugger - gets an impression that the debugger suddenly stopped working.

What would be a way to guarantee that the top frame NEVER looses a focus in the above scenario?

I have introduced caching of the images, labels, enablements etc., which increased the stepping speed threshold a lot, however some enthusiastic users still are able to loose focus, especially on large apps, with large stacks.


Thanks.

Xsu

_______________________________________________ platform-debug-dev mailing list platform-debug-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/platform-debug-dev


_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-debug-dev



_______________________________________________ platform-debug-dev mailing list platform-debug-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/platform-debug-dev


Back to the top