Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-dd-dev] Programmatically adding breakpoint on target.

Hi,

Thanks Pawel and Francois

May be i should give more details of what i am trying to do. I am currently
investigating on supporting DSF based debugger for our tool. We would like
to add break point on target, that is not added by the user through editors
and also retrieve information from the target (like call stack).

[Our Tool] <---interact_with---> [DSF] <----> [target C/C++ debugger, like
GDB or another debugger]

To achieve this (talking to different debuggers), we need a common
interface. For example : creating a break point.  The service api for this
is
IBreakpoints.insertBreakpoint(IBreakpointsTargetDMContext, Map<String,
Object>, DataRequestMonitor<IBreakpointDMContext>)

To call this api I need a IBreakpointTargetDMContext, Map and
DataRequestMonitor. How to create these parameters when i dont know the
which DSF C/C++ debugger is running and all I have is a handle to ILaunch
and Dsfsessions. The keys for Map is not defined by the framework. I had a
look at the GDB reference implementation. It define the map keys itself so
there is no standard in here.
GDB reference example does not seem to follow BreakpointMediator and
AttributeTranslator frameworks. (I could be wrong here, i have just started
digging into dsf and gdb reference implementation source code).
Is there a plan to standardize these for C/C++ DSF based debuggers ?

So given a File, line number, how do i add a line break point.  In CDI i
can do this directly from the ICDebugTarget  by adapting to ICDITarget,
which has all the capability required. Is there a way to get similar
functionality for controlling the target  in DSF ?

I have some more queries
1. How to retrieve call stack and variables from the target ? What is the
starting point for traversing the data model ?
2. How to check if a particular debug service is supported or not ?
3. Is there a common UI existing / proposed for  launching C/C++ with DSF
Debugger, similar to CDT launch config, were user can select the debugger
from the drop down list.
4. Is there any plan to support or link with CDI framework or any plan to
unify both ?
5. Is there any change planned for launch to retrieve DSF specific
information from the launch ?


Thanks

- Janees




                                                                                
 (Emb                                                                           
 edde                                                                           
 d     Re: [dsdp-dd-dev] Programmatically adding breakpoint on target.          
 imag                                                                           
 e                                                                              
 move  Pawel Piech                                                              
 d to              to:                                                          
 file                Device Debugging developer discussions                     
 :                                                          12/11/2008 02:22 PM 
 pic0                                                                           
 4686                                                                           
 .gif                                                                           
 )                                                                              
       Sent by:                                                                 
             dsdp-dd-dev-bounces@xxxxxxxxxxx                                    
      Please respond to Device Debugging developer discussions                  
      <dsdp-dd-dev@xxxxxxxxxxx>                                                 
                                                                                
                                                                                
                                                                                






Hi Janees,
There is actually a little more to this story: there are two breakpoint
related services.  One is the lower level interface that Francois pointed
out, the other is a breakpoint manager synchronization service which
synchronizes the target breakpoints with the eclipse breakpoint database.
It is up to the implementation of the services to make sure that if a
client accesses the IBreakpoints interface directly, the synchronization
takes care to synchronize the Eclipse breakpoint database with the
corresponding changes.  I know that with the example PDA debugger I did not
add support for this, but I can't remember whether the GDB debugger
implementation has it.

Cheers,
Pawel

Francois Chouinard wrote:
      Hi,

      DSF provides a generic interface (IBreakpoint) that should then be
      implemented by a Breakpoint Service specific to the integrated
      debugger. That I/F specifies the minimal set of functions that the
      service should implement (add/remove, enable/disable, ...).

      The GDB/MI reference implementation provides an example.

      Hope this answers your question.

      Best Regards,
      /fc

      On Wed, Nov 12, 2008 at 12:02 PM, Janees Elamkulam <
      janees.ek@xxxxxxxxxx> wrote:

        Hello,

        Is there a common interface to programmatically add breakpoint on
        the
        target using DSF framework that work for all C/C++ Debuggers
        integrated to
        eclipse using DSF ?


        - Janees


        _______________________________________________
        dsdp-dd-dev mailing list
        dsdp-dd-dev@xxxxxxxxxxx
        https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev



      _______________________________________________
      dsdp-dd-dev mailing list
      dsdp-dd-dev@xxxxxxxxxxx
      https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev

_______________________________________________
dsdp-dd-dev mailing list
dsdp-dd-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-dd-dev

Attachment: pic04686.gif
Description: GIF image


Back to the top