[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Suggestion for a more efficient stackframe updating
|
I filed this enhancement suggestion as PR 89809
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=89809).
I agree that the list of threads must be updated after each suspension;
my point was that the stackframes and variables only need to be updated
for the current thread, not for all the threads. I think this
improvement could be a major performance booster for debugging programs
with many threads, especially for targets where computing the backtrace
is expensive.
Regards,
Stefan
Mikhail Khodjaiants wrote:
The threads and shared libraries should be updated automatically, not
much we can do.
But we should consider to use update requests from the UI for stack
frames, variables, etc.
----- Original Message ----- From: "Alain Magloire" <alain@xxxxxxx>
To: <cdt-dev@xxxxxxxxxxx>
Sent: Wednesday, March 30, 2005 4:45 PM
Subject: Re: [cdt-dev] Suggestion for a more efficient stackframe
updating
This is a multi-part message in MIME format.
--------------020605090804080605090206
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
When the CDT debugger becomes suspended, it updates the list of threads
and then updates the stackframes and variables for each thread. This
can
be very time consuming when debugging a remote embedded target with
many
threads. Why must the CDT debugger update the stackframes and variables
for _each_ thread? It would be much more efficient to just update the
stackframes and variables for the _current_ thread. If the user selects
another thread, then the stackframes and variables for that thread
would
be updated. UI-wise, this would probably mean that only the current
thread is expanded while all other threads are collapsed. Selecting a
new current thread updates and expands that thread and collapses the
previously current thread.
Of course, this new behaviour could be made as a preferences setting,
where the original behaviour is the default option.
For the Variables we use the gdb varobj framework.
And we were planning to change this back to just:
-var-update *
That should take care of things.
Or maybe not 8-), the problem with this is the mix of register and
variables in the varobj certain gdb seems to crash.
For the the threads, not much we can do, gdb does not notify on
thread creation so we need to poll.
For the stackframes ... lets look at this again, do you have a PR
and test cases(MI output logs).
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
begin:vcard
fn:Stefan Bylund
n:Bylund;Stefan
org:Enea Embedded Technology AB
adr;quoted-printable;quoted-printable:;;Nytorpsv=C3=A4gen 5B, Box 232;T=C3=A4by;;183 23;Sweden
email;internet:steby@xxxxxxx
title:Software Engineer
tel;work:+46 8 50714000
tel;cell:+46 709 714325
url:http://www.ose.com
version:2.1
end:vcard