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
|