[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-debug-dev] Re: MemoryBlockExtension?

Hi,

If you are not planning to reuse the renderings provided by the platform,
then it is not mandatory for you to implement IMemoryRenderingSite and
IMemoryRenderingContainer.  It is up to you to design how you render the
content of the memory block in your view.  However, implementing these
interfaces will allow you to host those renderings in the future, if you
ever need to.

Does your debugger/tool build on top of CDT?  I am not familiar with how
CDT is organized, so I don't know if you can just "borrow" the memory block
implemented in CDT.  You may have to implement your own memory block.
You do not have to interact with the memory block manager if you are not
using the Memory View.  If you just want a view to display the content of a
memory block, you can do it by just implementing the memory block.  And
your view will have to know how to read the content of the memory block and
display that in the view.

I hope that the example provided in the EclipseCon tutorial will help.

Since you are doing embedded development, you  may want to look at the DSDP
Device Debugging subproject which has discussions targeted specifically for
the embedded development community.
http://www.eclipse.org/dsdp/dd/index.php

Thanks...
Samantha





                                                                           
             "Haoquan JIANG"                                               
             <haoquan.jiang@gm                                             
             ail.com>                                                   To 
                                       Samantha Chan/Toronto/IBM@IBMCA     
             11/14/2006 07:59                                           cc 
             AM                                                            
                                                                   Subject 
                                       Re: MemoryBlockExtension?           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Thanks Samantha,

//Do you mind if I forward this to the Debug Mailing List?  These questions
//are beneficial for others too

Totoally not.

I think my problem is just simple but somehow I can not yet comprehend. I
dont know if I should turn to the CDT guys, but you are the moment the
right person who come to rescue. May I describe my task again:

I need to access remote target memory, when breakpoints met, via GDB. I
would like to have them in byte-format delivered in my custom view, in
order to reconstruct the image content.

To do that I need my view to implement  MemoryRenderingSite, I need to have
IMemoryRenderingContainer, and later fetch memory content using Memory
Block, assuming it can be borrowed from cdt.debug.mi.model.MemoryBlock and
bind it in my plugin.xml.
I dont need to find out what renderings are available in the memory view.I
assume I just need to have some memory block manager for querying memory
information.   By then I guess I would be able to use
myMemoryBlock.getBytes () to get what I need.

Samantha, does it work as WHAT I said? how could I initialize a memory
block? I just need to pass the block to the manager and wait until it
returns the values?
I still miss the whole picture, I will be grateful if you could provide me
help with pseudo code.
Any documentation or graphs concerning would be appreciated.

Thanks again,


On 11/14/06, Samantha Chan <chanskw@xxxxxxxxxx> wrote:
  Hi,

  You debug target must implement IMemoryBlockRetrieval /
  IMemoryBlockRetrievalExtension.

  When your memory block retrieval is called, you must create and return a
  memory block.  Your memory block must implement IMemoryBlock or
  IMemoryBlockExtension.

  If you are implementing a debugger, you must implement these yourself.
  If
  you are using CDT, then CDT must have already implemented this.

  I am working on having the examples available on the Eclipse web site.
  Stay tuned.



  Thanks...
  Samantha




              "Haoquan JIANG"
              <haoquan.jiang@gm
              ail.com>                                                   To
                                        Samantha Chan/Toronto/IBM@IBMCA
              11/09/2006 07:32                                           cc
              AM
                                                                    Subject
                                        MemoryBlockExtension?










  Hi Samantha,

  I am not sure about how to initialize a programmatically defined
  memoryblock for the MemoryBlockManager to addMemoryBlock.

  Your code is here:


    MemoryBlockExtension mbe =


  new MemoryBlockExtension(new    DebugImageMemoryTarget(), 0);


    DebugPlugin.getDefault().getMemoryBlockManager().addMemoryBlocks(


  new IMemoryBlock[] {mbe});


  In my version of Eclipse SDK 3.20603, I could not see any
  MemoryBlockExtension Impl. Do I need to implement myself? how? Can you
  please tell me how to generate a hard coded memoryblock, let's say,
  memory
  start address 0x10000, 355*288 bytes, to be rendered in Memory View.


  Thanks for your help,

  --
  Jiang,Haoquan

  Apartment.4.20
  Kassernenstrasse 12. c/o NIT
  21073 Hamburg






--
Jiang,Haoquan

Apartment.4.20
Kassernenstrasse 12. c/o NIT
21073 Hamburg