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
|