Commit Graph
13 Commits
Author SHA1 Message Date
Rene Gollent c90773b3ba Implement support for restarting teams.
- TeamDebugger's listener interface now exports a
TeamDebuggerRestartRequested hook. The latter is used to request
starting a new debugger instance with the same arguments/settings as the
team it represented. Implemented for the graphical debugger.

- When a team terminates, the resulting dialog now allows the user to
choose to quit, restart, or simply do nothing. The latter option still
needs some work though, as e.g. setting additional breakpoints currently
fails since the corresponding debugger interface is no longer around.

Implements the main part of #9774.
2013-05-29 19:25:49 -04:00
Rene Gollent 93b54e54a4 Add MSG_THREAD_SET_ADDRESS and implement handling. 2013-05-16 22:22:47 -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 3e9e1e11b2 Resolve TODO: get team information via DebuggerInterface. 2013-04-25 18:54:59 -04:00
Rene Gollent dd817ff93c Handle team deletion debug event.
When the target team exits, notify the user and shut down the debugger.
2013-04-23 23:05:36 -04:00
Rene Gollent adf25fc437 Dump area information in reports.
Implements part of #9510.
2013-04-05 09:12:51 -04:00
Rene Gollent be56273bbb Refactor DebugReportGenerator to use jobs.
- Instead of asking nodes to resolve themselves directly,
  DebugReportGenerator now uses the interface listener to ask the
  debugger's workers to resolve them on its behalf.
2012-12-11 22:56:47 -05:00
Rene Gollent e206ff5692 Fix crash in TeamDebugger.
- TeamDebugger's destructor was assuming the report generator object
  had always been created, which might not be the case. Fixes second
  part of #9273.
2012-12-07 17:36:30 -05:00
Rene Gollent 969609f0ef Fix double free. 2012-12-05 20:09:59 -05:00
Rene Gollent 4e9b38d34e Fix #9221.
- When an image creation notification is received, the thread
  that provoked it needs to be suspended until the debugger has
  finished loading the image's debug information. Otherwise, if that
  image had a breakpoint in it, it was possible that the thread would
  execute past the code where the breakpoint should be before the
  debugger had a chance to actually install it.

- Only update breakpoints when debug info loading has actually finished.
2012-11-29 08:12:49 -05:00
Rene Gollent 248c2ff45c Rework control flow for debug report generator.
- DebugReportGenerator is now its own BLooper that generates reports asynchronously
  instead of in TeamDebugger's message loop.
- If a stack trace isn't yet available, DebugReportGenerator now waits for it to
  be generated.
- Extended Team to add a listener event for report generation completing. DebugReportGenerator
  now generates such an event when it has finished writing a report.
2012-11-24 00:44:00 -05: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 4549786bad Code reorganization. 2012-11-07 23:19:23 +01:00