Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Reseting the embedded target does not update the editor location

Thanks for creating the bug report - let's continue the discussion there now.

Jonah

~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Wed, 26 Jan 2022 at 16:07, Torbjorn SVENSSON via cdt-dev <cdt-dev@xxxxxxxxxxx> wrote:
Hello Jonah,

Yes, it's indeed a follow-up on our (mostly your) previous work.

I've been trying to debug though the code for the "Debug" view in order to detect what actually makes it update the content. After about 12h of debugging, I’m no closer to finding where the magic happens so I'm at a point of giving up here.

I think someone with knowledge of DSF internals and/or how the CDT debug model work should take a look at what's going.
I've opened a bug report with a step-by-step instruction on how to reproduce the issue on a PC: https://bugs.eclipse.org/bugs/show_bug.cgi?id=578400


Kind regards,
Torbjörn


From: Jonah Graham <jonah@xxxxxxxxxxxxxxxx>
Sent: den 25 januari 2022 19:42
To: CDT General developers list. <cdt-dev@xxxxxxxxxxx>
Cc: Torbjorn SVENSSON <torbjorn.svensson@xxxxxx>
Subject: Re: [cdt-dev] Reseting the embedded target does not update the editor location

Hi Torbjörn,

I think the correct solution is to have the views listen to the ICommandControlRefreshAllDMEvent. I think this carries on from the work we did together a few years ago in https://bugs.eclipse.org/bugs/show_bug.cgi?id=568228

Jonah


~~~
Jonah Graham
Kichwa Coders
http://www.kichwacoders.com


On Tue, 25 Jan 2022 at 12:35, Torbjorn SVENSSON via cdt-dev <mailto:cdt-dev@xxxxxxxxxxx> wrote:
Hello,

In our Cortex-M IDE, we have a toolbar button that will reset the embedded target by sending the 'monitor reset' command to the GDB server. Doing so will obviously reset some IP's in the target and also change $pc to use the 2nd word in the vector as that's the location of the first instruction of the program.

This button works fine for the overall picture, but the state of some of the CDT views is not correct after the reset.
Some views, like the "Debug" view shows the correct content after we call:
fTracker.getService(ICommandControlService.class). flushAllCachesAndRefresh(rm);

Other views, like the editor or "Disassembly" view are still stuck on the location prior to the reset. The only way to make them aware of the change of state is to either have GDB fire a new suspend-event or manually re-select the frame in the "Debug" view.

Is there some way to manually trigger a suspend-event from an instance of org.eclipse.cdt.dsf.concurrent.Sequence or any other way to make the views know that they need to refresh?

Kind regards,
Torbjörn
_______________________________________________
cdt-dev mailing list
mailto:cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

Back to the top