15 Commits

Author SHA1 Message Date
Rene Gollent
432da9e337 Debugger: Implement remaining part of #11033.
TeamDebugInfo:
- Add function to invalidate a source entry's file mapping.
UserInterfaceListener:
- Add listener hook to be able to invoke the aforementioned invalidate.
  Add corresponding implementation in TeamDebugger.
FileManager:
- When asked to locate a source entry, invalidate any existing mapping
  first.
TeamWindow:
- Always allow choosing an alternate source file.
- If we already have an existing source mapping, invalidate it first
  before attempting to establish a new one.
2014-08-29 11:04:48 -04:00
Rene Gollent
d44d8207a8 Debugger: Finish handling of missing debug information.
Add a listener interface for LoadImageDebugInfoJob that allows it to request
user assistance based on its current state. Adjust callers to pass in said
listener accordingly.

Implement the aforementioned listener interface in TeamDebugger, and use the
loading state handler roster to find the appropriate handler / handle the request.

This implements most of what's needed for #10138, the main piece still missing
is for the dwarf handler to detect whether the image in question comes from a package,
and if so, to offer to install the corresponding debug information package rather than
locating the file manually, assuming such a package exists.
2014-06-15 11:03:24 -04:00
Rene Gollent
cae8421db8 Implement debugger infrastructure for stop on...
...image load with name matching.

- Move the stop on image load setting to Team, along with a new setting
governing the use of the (also newly added) name list.

- Add accessors for maintaining the name list, and events/notifications
for listeners with regards to changes to all stop on image load
settings.

- Adjust user interface listener hooks for additional functionality.
2013-07-07 00:39:04 -04:00
Rene Gollent
5b402aa2a3 Implement #9855.
The Team menu now has a menu item allowing one to tell the debugger to
stop whenever a new executable image is loaded by the debugged team.
This setting is not currently persisted, though that can be changed if
desired.
2013-07-04 10:41:38 -04:00
Rene Gollent
fe448830c9 TeamDebugger: Implement post syscall event handling.
We now watch for file write syscalls in the target team. If they
constitute a write to either stdout or stderr, we attempt to capture the
output, and notify interested listeners accordingly.
2013-06-28 18:49:32 -04:00
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
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
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
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
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