15 Commits

Author SHA1 Message Date
Rene Gollent
442f71a7d9 Extend FunctionSourceCodeRequested().
Now takes an optional boolean parameter to indicate that disassembly is
explicitly being requested. Adjust TeamDebugger and LoadSourceCodeJob's
implementations accordingly.
2013-06-22 15:48:17 -04:00
Rene Gollent
468c8dfab7 Extend UserInterfaceListener to allow marking...
...breakpoints as hidden. Adjust TeamDebugger accordingly.
2013-06-15 14:51:18 -04:00
Rene Gollent
7cbc5a5964 Add UserInterfaceListener hook to request a team restart. 2013-05-29 21:59:51 -04:00
Rene Gollent
42d73abab9 Add "Run to cursor" context action.
- UserInterfaceListener/TeamDebugger: Extend ThreadActionRequested()
  to allow passing a target address. Adjust TeamDebugger's
  implementation accordingly.

- ThreadHandler: The MSG_THREAD_RUN action can now optionally take an
  address parameter to run until. If this is specified, set a temporary
  breakpoint for said address before resuming execution.

- SourceView: On right click, present a context menu showing possible
  actions for the current line if we're currently in a stopped thread.
  For the moment, this only yields the "Run to cursor" action, but
  more will be added in the future.
2013-05-12 16:03:47 -04:00
Rene Gollent
2efebaa1d1 Tie DebugReportGenerator into TeamDebugger.
- Add UI listener hook. Still needs to be exposed via the actual
  UI though.
2012-11-18 13:10:31 -05:00
Rene Gollent
4235cb3e33 Start adding the underlying infrastructure for watchpoint support. 2012-11-06 11:46:27 +01:00
Ingo Weinhold
4d8eaa5b11 Debugger: UserInterface.h: style cleanup 2012-07-29 00:28:56 +02:00
Ingo Weinhold
eba38eb503 Debugger: Change user interface quit and ask user semantics
* UserInterface::SynchronouslyAskUser() is now allowed to return -1 to
  indicate that the user cannot be asked at this point for whatever
  reason. The caller needs to handle that case.
* UserInterfaceListener::UserInterfaceQuitRequested(): Add new parameter
  "quitOption" to specify what is supposed to happen. The previous
  behavior (ask user) is only one of the options. The others are to kill
  the debugged team or to resume it.
2012-07-27 23:42:01 +02:00
Ingo Weinhold
f4b1ddb580 Debugger: Coding style: normalize naming, some whitespace fixes
* TeamUISettings[Factory] -> TeamUiSettings[Factory]
* GUITeamUISettings -> GuiTeamUiSettings
* GUISettingsUtils -> GuiSettingsUtils
2012-07-24 00:28:37 +02:00
Rene Gollent
bbc851098d Add hooks to UserInterface to allow for saving/restoring of UI settings.
Make use of them as appopriate.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 19:04:24 +00:00
Rene Gollent
348e6deb98 * Move expression evaluation to the inspector window.
* Actually start rendering the memory data. Still has some drawing glitches
  when scrolling though, will look into those tomorrow. Also doesn't yet
  highlight the location which the target address actually points to within
  the block.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 02:28:55 +00:00
Rene Gollent
3e3ce16f5e * Introduce TeamMemoryBlock[Manager]. These provide an interface to raw memory
page data of the target team.
* Jobs: Add RetrieveMemoryBlockJob which performs a background read of the
  target team's memory. Used by InspectRequested() to perform the actual work.
* TeamDebugger: Added InspectRequested() hooks to allow clients to ask for
  a memory read to be performed.
* Introduce InspectorWindow and MemoryView to form the basis of a memory inspector.
  As yet these are more or less stubs and not yet hooked in.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 01:58:39 +00:00
Rene Gollent
5a13e7b045 Add a means for the user to locate source files if they are not found
at the location specified in the debug info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-03 21:52:39 +00:00
Ingo Weinhold
59ea286fac * EnumerationValue -> EnumeratorValue
* Since some types don't have names (e.g. pointer types or anonymous structs or
  unions), each type does now also have a unique ID. The global type cache
  registers types by ID and by name (if they have one). This fixes clashes of
  types with empty names.
* Completely refactored the code dealing with variable values. Formerly we had
  Variable and TypeComponentPath to navigate to a component, mapped to a
  BVariant representing the value. Now we have:
  * Interface Value with various subclasses (BoolValue, IntegerValue, etc.) to
    represent a value, with the flexibility for more esoteric values.
  * A tree of ValueNode+ValueNodeChild objects to represent the components of a
    variable. On top of each ValueNodeChild sits a ValueNode representing the
    value of the component, potentially having ValueNodeChild children. This
    should allow casting a component value, simply by replacing its ValueNode.
  * Interface ValueHandler and various implementations for the different value
    types. It is basically a factory for classes allowing to format/display a
    value.
  * ValueHandlerRoster -- a registry for ValueHandlers, finding the best one
    for a given value.
  * Interface TypeHandler and various implementions for the different type
    kinds (primitive, compound, address, etc.). It is basically a factory for
    ValueNodes for that type.
  * TypeHandlerRoster -- a registry for TypeHandlers, finding the best one
    for a given type.

  That's still a bit work in progress. It introduces at least one regression:
  The VariablesView doesn't save/restore its state anymore. Will take a while
  until that is added back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-05 18:15:21 +00:00
Ingo Weinhold
e3a631c0b4 * Introduced interface UserInterface, which abstracts the user interface code.
* Added implementation GraphicalUserInterface for the current GUI.

TeamDebugger does no longer know about TeamWindow.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-15 09:47:24 +00:00