Custom Debug Engine - Extending the memory view RRS feed

  • Question

  • Hi

    I am using Visual Studio 2010 and creating a isolated shell application. I have created my own debug engine and I have a working memory view.

    I would like to add another drop down list at the top of the memory view (I want to select different predefined memory segments for my target). Alternatively I would like to add an item to the menu displayed when the user right clicks in the view.

    Is it possible to extend the default memory view with such an extension or do I have to create my own custom memory view from scratch?



    Lars Even

    Monday, May 3, 2010 3:15 PM

All replies

  • Hi Lars,

    I don't see much in the way of automation or extensibility around the memory toolwindow. The toolwindow does have a stock toolwindow toolbar, and you can find the guid:id for the toolbar and the group id's for the dropdowns in the VsDbgCmdPlace.vsct in the VS SDK's Common\Inc subdirectory. Each memory toolwindow (1-4) has a toolbar (IDM_MEMORY_WINDOW_TOOLBAR1, IDM_MEMORY_WINDOW_TOOLBAR2, etc). You can add commands(or combos) to one of the existing groups (like IDG_MEMORY_EXPRESSION1 or IDG_MEMORY_COLUMNS1), or create a custom group with your commands, and add it directlyt to the toolbar.

    The tough part is feeding those predefined memory segments to the toolwindow. Can't think of a good way to do that, as there aren't any automation/extensibility hooks on this particular toolwindow.


    Ed Dore
    Monday, May 3, 2010 10:04 PM
  • Thanks for your help,

    My target has some alternative memory spaces and I want the user to be able to switch between the normal memory space and these other spaces. I think the best thing would be to offer the user a dropdown list of available spaces.

    So I should add a drop down list  to IDM_MEMORY_WINDOW_TOOLBAR(1-4). I am not sure how to do this but I guess it is documented somewhere? I can then add an action to my control which would set a global variable (at least for my running debug engine). Then I will have to redraw/update the memory view, and since there is no mechanism for this I would perhaps have to send a new breakevent to the SDM? Or is it another way I could ask the SDM to update my views?


    Lars Even

    Tuesday, May 4, 2010 10:30 AM