Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-debug-dev] Blank memory monitor pane problem

Hi Ken -

I looked at the code.  The memory view is incorrectly stealing focus from
the debug view and hence it does not get the selection event.

I opened a defect for this:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=136646

To work around the problem and if you can change the Memory View code, you
can do this:
1.  In MemoryBlocksTreeViewPane#createViewPane, add this code:

fParent.getViewSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
 this);

2.  In MemoryBlocksTreeViewPane#dispose, add this:

fParent.getViewSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
 this);

This ensures that the view pane will get the selection event no matter if
the debug view is in focus.

Let me know if this works for you.  Thanks...

Samantha





                                                                           
             Ken_Dyck@xxxxxxxx                                             
             Sent by:                                                      
             platform-debug-de                                          To 
             v-bounces@eclipse         platform-debug-dev@xxxxxxxxxxx      
             .org                                                       cc 
                                                                           
                                                                   Subject 
             04/13/2006 07:55          RE: [platform-debug-dev] Blank      
             AM                        memory monitor pane problem         
                                                                           
                                                                           
             Please respond to                                             
             "Eclipse Platform                                             
              Debug component                                              
             developers list."                                             
                                                                           
                                                                           




Yeah, 3.1.2. And thanks for taking a look.

Cheers,
Ken


-----Original Message-----
From: platform-debug-dev-bounces@xxxxxxxxxxx
[mailto:platform-debug-dev-bounces@xxxxxxxxxxx] On Behalf Of
chanskw@xxxxxxxxxx
Sent: Wednesday, April 12, 2006 6:35 PM
To: Eclipse Platform Debug component developers list.
Subject: Re: [platform-debug-dev] Blank memory monitor pane problem


Hi Ken -

Sorry to have caused such serious injuries on your head.

What version of Eclipse are you trying to do this on?  I am assuming
it's
3.1?   I will look at the code and see if I can come up with something.

Thanks...
Samantha







             Ken_Dyck@xxxxxxxx

             Sent by:

             platform-debug-de
To
             v-bounces@eclipse         platform-debug-dev@xxxxxxxxxxx

             .org
cc



Subject
             04/12/2006 03:45          [platform-debug-dev] Blank memory

             PM                        monitor pane problem





             Please respond to

             "Eclipse Platform

              Debug component

             developers list."









Hi all,

I've been banging my head against the wall on this one for much longer
than is healthy for anyone to be banging their head up against a wall.


Background...

Our Eclipse-based IDE persists open memory view monitors and renderings
in the launch configuration when it terminates a debug session so it can
open them up again when the configuration is next relaunched.


How it works...

To repopulate the memory view at launch, the debug target constructor
creates and adds any stored memory blocks to the memory block manager,
then via a status handler, it calls our UI plugin to add the renderings.


Here's the problem...

If the memory view is visible and program halts due to a breakpoint
after it is launched, the monitor pane in the memory view is completely
blank. As soon as you select a debug element (stack frame, thread,
register, etc.) the monitor reappears.


What I understand to be happening...

It seems that when the launch code adds the memory renderings, they
receive the focus in the IDE. When the breakpoint suspends the program,
and the stack frame is selected, the monitor pane does not receive any
notification of the selection change because one of the new renderings
has the focus instead of the debug view.


What I've tried so far...

1. Storing the workbench window's active part before adding the
renderings, then reactivating it afterwards. There is a problem with
this strategy, of course. If the memory view is the active part before
adding the renderings, nothing will change with the activation.
Curiously, the active part always came back as the memory view, anyway.

2. Just make the debug view the active part. Seems to have no effect at
all.

3. Modify the selectionChanged() method in MemoryBlocksTreeViewPane so
that it assumes the debug target of the selection in the debug view if
the selection it received isn't a debug element. This doesn't work
because the selection in the debug view doesn't change until well after
the the renderings are created. Before that, the selection in the debug
view is our process object.

4. Modify selectionChanged() in MemoryBlocksTreeViewPane so that if the
selected object is a rendering, it extracts the debug target from its
memory block. This seems to work, but it has a bad smell to it.


Finally...

So what is the stupidly obvious mistake or oversight that I'm making
here? Any suggestions?


Cheers,
Ken

_______________________________________
Ken Dyck
Senior Member of Technical Staff
Software Tools Group
AMI Semiconductor Canada Company
Tel: +1.519.884.9696 ext 2277
Fax: +1.519.884.0228
Email address: ken_dyck@xxxxxxxx
Internet: http://www.amis.com
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE:
This electronic message contains information that may be confidential or
privileged. The information is intended for the use of the individual or
entity named above. If you are not the intended recipient, please be
aware that any disclosure, copying, distribution or use of the contents
of this information is prohibited. If you received this electronic
message in error, please notify the sender and delete the copy you
received.

_______________________________________________
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
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE:
This electronic message contains information that may be confidential or
privileged. The information is intended for the use of the individual or
entity named above. If you are not the intended recipient, please be aware
that any disclosure, copying, distribution or use of the contents of this
information is prohibited. If you received this electronic message in
error, please notify the sender and delete the copy you received.

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




Back to the top