#
eb4d2229 |
|
28-Oct-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
Debugger: Select "local" interface if none specified in MSG_DEBUG_THIS_TEAM. The debug_server sends MSG_DEBUG_THIS_TEAM but of course it doesn't have a way to specify the internal interface pointer. We should thus assume the local one is implied. Fixes #18645, which is not a regression but has been the case since the initial host-interface refactors years ago, apparently. Change-Id: I48078232f154f2f8f7cdf28792d39ae58471ce19 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7074 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
d8eeb8a4 |
|
05-Apr-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: explain target must be specified for CLI debugger Previous behaviour was to exit without any explanation. Change-Id: I3350a139fadffb197c7833f3c46861a401f86271 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6306 Reviewed-by: Rene Gollent <rene@gollent.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Tested-by: Automation <automation@haiku-os.org>
|
#
c0a43216 |
|
03-Apr-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: add support for executable file refs Adds support for handling executable files in the Debugger::RefsReceived function. This change * makes Deskbar menu->Recent Applications->Debugger->A recently opened executable open the executable instead of simply opening the Teams window, and * allows dragging and dropping an executable onto the application's icon. Change-Id: I8e70e7929188301ce976f1f14e885236d3cb2b0a Reviewed-on: https://review.haiku-os.org/c/haiku/+/6299 Reviewed-by: Rene Gollent <rene@gollent.com> Tested-by: Automation <automation@haiku-os.org>
|
#
aa7f93c5 |
|
24-Jan-2019 |
Rob Gill <rrobgill@protonmail.com> |
src/apps Code formatting * No functional changes code formatting changes only Change-Id: I046ae21d9b288126022fe0bc2ddf827843765e70 Reviewed-on: https://review.haiku-os.org/c/896 Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
|
#
c0936b5a |
|
11-Jan-2018 |
Rene Gollent <rene@gollent.com> |
Debugger: Another set of #13800 fixes. AbstractTable/Table/TreeTable: - Let BColumnListView take care of deleting columns. The previous approach was resulting in the columns being leaked. Debugger: - Don't detach the UI reference, as TeamDebugger will acquire its own. GraphicalUserInterface: - Cleanup of file panel handler. SourceView: - Clean up marker manager. *Roster: - Clean up registered objects in destructors. GlobalTypeLookup: - Clean up hash tables. NetworkTargetHostInterfaceInfo: - Fix reference handling for settings.
|
#
7e6e3c1b |
|
05-Dec-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement use of connection config roster. Debugger: - Initialize/Deinitialize roster as appropriate. ConnectionConfigWindow: - Implement config view listener interface, and use roster to retrieve and add appropriate config view when switching between interface types.
|
#
445f0037 |
|
01-Dec-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement spawning connection window. TeamsWindow: - Create new connection button now sends a message to the main app, which manages the connection window as a singleton. Debugger: - Handle creating/showing connection configuration window as requested.
|
#
c4b21918 |
|
01-Dec-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix incorrect indentation.
|
#
10ba3348 |
|
30-Nov-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Cleanup. - Split MessageCodes.h into a second file that separates out the application-specific message codes from those used by the core. Adjust includes accordingly. No functional change.
|
#
fce4895d |
|
29-May-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Split into core library and application. - Add subfolder src/kits/debugger which contains the debugger's core functionality and lower layers. Correspondingly add headers/private/debugger for shared headers to be used by clients such as the Debugger application and eventual remote_debug_server. Adjust various files to account for differences as a result of the split and moves. - Add libdebugger.so to minimal Jamfile.
|
#
e6687e8f |
|
28-May-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Add dedicated functions for global {un}init. - Add new source file DebuggerGlobals, which contains the relevant functions for initializing/destroying the various singleton rosters that the core subsystems rely upon. It is the app's responsibility to ensure these are called before anything else, and as final cleanup at exit. - The GUI/CLI app objects now take care of initializing the settings factory and ValueHandlerRoster, as those are entirely app-specific. - Refactor calls to init functions appropriately.
|
#
5c8ba745 |
|
25-May-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Refactor SettingsManager. - SettingsManager is now a pure virtual interface. The debugger core provides a no-op implementation of it which is used by default if no explicit manager is provided by the client requesting a new TeamDebugger. This allows consumers of the debugger core that have no need for settings persistence such as the report generator to not have to care about that particular detail at all. - Add subclass DebuggerSettingsManager which is essentially the previous existing implementation. This one will go with the application portion of the Debugger once the separation of app and lib has been completed. Adjust callers accordingly.
|
#
ec60909a |
|
22-May-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Reorganize settings classes. - Refactor TeamUiSettingsFactory into an abstract base class with implementing subclass DebuggerUiSettingsFactory. - Adjust SettingsManager to expect the UiSettingsFactory to be passed in as an initialization parameter, and refactor accordingly. - Move GuiTeamUiSettings.* into a user_interface/gui subfolder. No functional change, simply reorganization towards splitting the debugger's core functionality into a separate library from the application to aid in sharing with remote_debug_server.
|
#
880a6464 |
|
18-May-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Cleanup. TargetHostInterface: - Adjust _StartTeamDebugger to always require a user interface object to be passed in rather than implicitly falling back to GUI if unspecified. Debugger: - Refactor to be in compliance with the above.
|
#
5c8966c7 |
|
26-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix crash regression. - During the TargetHostInterface refactoring, a parameter was accidentally omitted for the debugger options in the command line and report interfaces, leading to a crash during TeamDebugger init.
|
#
63a0065c |
|
26-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement part of #12729. TeamsWindow: - Add a button allowing one to specify loading a core file in addition to attaching to/creating teams. - Slight layout tweak.
|
#
6d5951d6 |
|
26-Apr-2016 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Handle RefsReceived(), opening core files
|
#
2c4195e8 |
|
24-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Integrate core handling into TargetHostInterface. {Local}TargetHostInterface: - Add virtual method for requesting a debugger interface for a core file. Implement accordingly in LocalTargetHostInterface based on Ingo's previous implementation in the Debugger app. TeamDebuggerOptions: - Add an enum to define the type of team debugger request being made to explicitly make this clear rather than guessing based on the provided arguments. Set accordingly in the various cases. - Add a parameter for the core file path. Debugger: - Refactor to fill in TeamDebuggerOptions appropriately for core file requests, and consequently simplify code. This doesn't yet deal with the fact that a post-mortem team's ID can clash with that of a live team, which may lead to issues when attempting to attach to a live team in such a case.
|
#
1a899ed4 |
|
24-Apr-2016 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Beginning of core file support * DebuggerInterface: Add method IsPostMortem() to be able to descriminate between live and post mortem debugging. * Add DebuggerInterface implementation CoreFileDebuggerInterface which provides information from a core file. * TeamDebugger: Don't start the debug event thread when debugging post mortem. * Debugger: New command line variant "Debugger --core <file path>", which starts a team debugger using the core file. There are a few issues: * I didn't see an easy way to integrate with the new TargetHostInterface framework and I didn't want to get into Rene's way changing stuff. As a side effect core file debug windows are not counted and Debugger will quit when only those are left, respectively will additionally open a teams window on start-up. * There aren't any symbols yet. We can't use the debug kit functionality, since it isn't bitness/endianess agnostic. So either it needs to be adjusted or ported over to Debugger.
|
#
aed5c39d |
|
20-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement host interface roster listener. TargetHostInterfaceRoster: - Add Listener interface. For now, this simply notifies the listener of changes to the active debugger count. - Adjust show new team window command to automatically fall back to the local interface window if one isn't specified. Fixes the Start New Team menu item in the TeamWindow. The latter will later be expanded to show the available interfaces to start a new team on in a submenu. Debugger: - Implement roster listener interface in order to know when to attempt application quit. With this commit, all necessary work to isolate the application from the target host is complete, and work on the actual remote interface and protocol can begin.
|
#
a1afac4d |
|
20-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Rework to fully use TargetHostInterface. Application objects: - Rework and simplify to take into account that they will no longer be directly managing the team debugger list. Requests to start a new debugger are still funnelled through here however, and as such, said requests must now provide the appropriate target host to start with. Adjust StartTeamWindow and TeamsWindow accordingly. - On global init, always create an instance of the local interface. TargetHostInterface: - Convert to BLooper and implement TeamDebugger's Listener interface. TargetHostInterfaces now directly manage their TeamDebugger instances, and consequently take over the equivalent duties that the main application previously had. - Adjust signatures of Attach/CreateTeam to add const. Adjust LocalTargetHostInterface accordingly. - Add accessor to determine if a given interface is local or not. Will be needed for the TeamDebugger's file manager eventually so it knows if it needs to request remote files if no matching local file is found. - Add accessor to start a TeamDebugger instance, and corresponding options structure. TargetHostInterfaceRoster: - Minor adjustments to host interface initialization to take into account needing to start the looper. - Add accessor for number of running team debuggers, for the main app to use when deciding to quit. TeamDebugger: - Add accessor for SettingsManager. Needed for the case of a restart request, as the host interfaces do not have direct access to it. TeamsWindow: - For now, always grab the local host interface when initializing the window. Once the remote interface is implemented, this will need to be adjusted, but the appropriate UI for creating/selecting it is needed first anyways. With these changes, the main application is fully host-agnostic, and all management of actual debuggers is delegated to their parent host interfaces. There still needs to be a listener interface for the host interface and/or roster though, so that the application can be made aware of when debuggers quit, as this drives whether it's time to terminate the app or not.
|
#
2e705811 |
|
29-Mar-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: DebuggerInterface refactor. DebuggerInterface: - Refactor into abstract base class. - Introduce interface configuration abstract base class. - Move existing implementation into LocalDebuggerInterface and add corresponding configuration class. Debugger: - Adjust to instantiate LocalDebuggerInterface. In and of itself no functional change, but paves the way for further refactoring to make the debugger fully interface-agnostic (this isn't yet the case for retrieving target system information such as the team listing, and creating/attaching to teams).
|
#
6bef41c6 |
|
29-Mar-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Minor refactor. TeamDebugger: - Rather than instantiating the DebuggerInterface directly, we now expect it to be given to us externally. This allows TeamDebugger to be agnostic of where the team actually resides. Debugger: - Create and initialize DebuggerInterface before passing it on to TeamDebugger. No functional change.
|
#
2d9d01e2 |
|
21-Aug-2015 |
Rene Gollent <rene@gollent.com> |
Debugger: Refactor non-interactive report handling. - Add dedicated ReportDebugger application class for the case where we're asked to do nothing more than save a report. Also add a corresponding UserInterface subclass whose sole purpose is to take those necessary actions and then exit. - When the debugger is invoked via the --save-report option, we now start via the aforementioned report/interface rather than piggybacking on the CLI. - Clean up CommandLineUserInterface/CliContext to remove handling for the report saving option. Should hopefully resolve #12155.
|
#
edf74e6c |
|
26-Dec-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Cleanups. General: - Move all smaller prompt/edit windows to a dedicated subfolder. Debugger/TeamsWindow/StartTeamWindow: - Move management of StartTeamWindow to application, rather than Teams window. TeamWindow: - Add top level menu item for commands that aren't specific to the current team. This currently consists of requesting that the Teams window be shown, and directly starting a new team. Fixes part of #11659 (no way to start additional teams if Debugger was initially started with a specific team).
|
#
33151100 |
|
10-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Start adding the groundwork for load state handlers. Adds abstract class ImageDebugLoadingStateHandler which simply contains two hooks, which allow one to a) ask it if it supports a handling a particular type of loading state, and b) if so, ask it to attempt to handle that case, given the passed in user interface object. Also adds implementing subclass for DwarfImageDebugInfo, currently intended primarily to handle the case of missing external debug information. At present, this just supports prompting the user to find/install the file, but eventually this will be extended to also support automatically installing the corresponding debug information package, if applicable. Finally, adds ImageDebugLoadingStateHandlerRoster, which acts as a front end for matching up a given loading state with the appropriate handler.
|
#
e8948527 |
|
07-Dec-2013 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement #10283. - When constructing the CLI interface, also pass along the target thread ID if one was specified. - If our only reason for starting is to save a report, and we've been given a specific thread to target, rather than just a team, ensure that the target thread is in a stopped state prior to saving the report.
|
#
0c2d190d |
|
16-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix incorrect handling when starting new teams. When building the launch string for starting a new team via the GUI, enclose the executable path in quotes to ensure paths with spaces are handled properly.
|
#
c90773b3 |
|
29-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
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.
|
#
aad82273 |
|
03-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
Add message for starting a new team. Implements #9682. - The Debugger app now accepts a message asking it to start a new team. It attempts to do so given the path and arguments, and passes the result back to the sender if desired.
|
#
6799de31 |
|
22-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add command line option to ask Debugger to save a report. - When invoked, starts up the CLI such that it bypasses waiting for input and instead save a crash report of the running team, then exits. Mainly intended to be used by debug_server.
|
#
7483c98d |
|
05-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger (and some friends): 64 bit fixes
|
#
726d557c |
|
28-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Wait for TeamDebugger thread to die before exit()
|
#
f5847850 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: In CLI mode block SIGINT in all threads It is supposed to be handled in the input loop thread only (eventually).
|
#
0a592099 |
|
21-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Rework CLI setup to no longer create a BApplication The main thread does now serve the CLI input loop.
|
#
0f1f968f |
|
20-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Actually create the CLI, if requested
|
#
08f7f574 |
|
03-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Factor out _StartTeamDebugger() so it can be shared between the GUI and CLI initialization. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43160 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
192c6f96 |
|
02-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add command line argument to specify usage of the CLI rather than the GUI. Not used yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3e066cf |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30c47afa |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Fix memory leak + style cleanup. Thanks Axel! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
190108e9 |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Add missing allocation checks where needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db2c7eeb |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Style cleanup, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38782 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9135a7b8 |
|
21-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Removed left-over. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38759 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb01bef |
|
21-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Finally integrates running_teams_window stuff to the Debugger app: * Rework Debugger class a bit to ease integration * Expand TeamDebugger::Listener interface to notify start event too. * Former RunningTeamsWindow, now name TeamsWindow, is shown at start if no team/program to launch is specified. * Double-clicking a team item in this list starts a new Team debugger, or reactivate the existing one if any This window settings is not yet integrated with the SettingsManager. Will comes next. I plan to add some UI controls to this Teams window to allow user to setup a program arguments and environment variables and then launch & debug it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38758 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
59ea286f |
|
05-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* 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
|
#
e3a631c0 |
|
15-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* 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
|
#
2bf55b39 |
|
23-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made FunctionID abstract. There are now two implementing subclasses, SourceFunctionID (where we know the souce location of the function) and ImageFunctionID (where we don't know the source location). Made the classes archivable. * Added support to find functions by ID. * Improved user breakpoint handling. We can now "install" a breakpoint before we even know the function instances in which to install it. Whenever image debug information become available, breakpoints are installed in the concerned function instances of the respective image. * Always trigger loading image debug info as soon as we become aware of an image. * Implemented a settings management mechanism. ATM only the breakpoint locations for debugged teams are persisted. This seriously improves the debugging fun, though. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
719f89b0 |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed the application quit mechanism. Due to the two levels of asynchronous message sending the main thread exit()ed before the team debugger could process its quit message. We're no longer taking the detour via Debugger when quitting a window. The team debugger just quits and synchronously notifies the application, which in turn waits until all team debugger threads have gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31219 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e951f678 |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved message code where it belongs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31217 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b9563a6f |
|
22-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Added NOTE on how to handle QuitRequested in the application and why using the base class version is fine for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31202 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04743aeb |
|
22-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Filled up the quitting code path a bit. The TeamDebugger throws up an alert asking what to do with the debugged team. Killing it is not yet implemented. Then it notifies the application about the quit request. That in turn tears down the TeamDebugger and if no other ones are left, it quits itself. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31201 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15f040e5 |
|
19-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some work towards getting stack traces: * Added a virtual Architecture::CreateStackTrace() and added a basic implementation in ArchitectureX86. Fleshed out StackTrace/StackFrame a bit and added StackFrameX86. This needs to be organized differently, though, so that we can get the maximum available information for each stack frame, depending on what info is available for the respective function. * Added job to get the stack trace for a thread. * Added stack trace related handling in TeamDebugger. Reorganized the thread state/CPU state/stack trace change handling a bit -- we're using a Team::Listener now, and do things asynchronously. * Added a StackTraceView to display the stack trace of the current thread. No function name available yet, otherwise working fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31126 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94af2f42 |
|
17-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed some debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac8b6713 |
|
16-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added bits and pieces to the model classes (Team, Thread, Image). * Added beginnings of the team window. Currently only showing the thread list (not updated yet). * Added application startup code and argument parsing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d9d01e2e849737a184f83779311a04346a5be98 |
|
21-Aug-2015 |
Rene Gollent <rene@gollent.com> |
Debugger: Refactor non-interactive report handling. - Add dedicated ReportDebugger application class for the case where we're asked to do nothing more than save a report. Also add a corresponding UserInterface subclass whose sole purpose is to take those necessary actions and then exit. - When the debugger is invoked via the --save-report option, we now start via the aforementioned report/interface rather than piggybacking on the CLI. - Clean up CommandLineUserInterface/CliContext to remove handling for the report saving option. Should hopefully resolve #12155.
|
#
edf74e6ca88fd7a0dd394378790ebb7e2da3bc19 |
|
26-Dec-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Cleanups. General: - Move all smaller prompt/edit windows to a dedicated subfolder. Debugger/TeamsWindow/StartTeamWindow: - Move management of StartTeamWindow to application, rather than Teams window. TeamWindow: - Add top level menu item for commands that aren't specific to the current team. This currently consists of requesting that the Teams window be shown, and directly starting a new team. Fixes part of #11659 (no way to start additional teams if Debugger was initially started with a specific team).
|
#
331511009c7f769f4c4dad00c7a31e2d926e7731 |
|
10-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Start adding the groundwork for load state handlers. Adds abstract class ImageDebugLoadingStateHandler which simply contains two hooks, which allow one to a) ask it if it supports a handling a particular type of loading state, and b) if so, ask it to attempt to handle that case, given the passed in user interface object. Also adds implementing subclass for DwarfImageDebugInfo, currently intended primarily to handle the case of missing external debug information. At present, this just supports prompting the user to find/install the file, but eventually this will be extended to also support automatically installing the corresponding debug information package, if applicable. Finally, adds ImageDebugLoadingStateHandlerRoster, which acts as a front end for matching up a given loading state with the appropriate handler.
|
#
e8948527c2f9b499848c0859fdc8534cf763e430 |
|
07-Dec-2013 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement #10283. - When constructing the CLI interface, also pass along the target thread ID if one was specified. - If our only reason for starting is to save a report, and we've been given a specific thread to target, rather than just a team, ensure that the target thread is in a stopped state prior to saving the report.
|
#
0c2d190d67d12e412ff63e206fe861bd5b6f304a |
|
16-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix incorrect handling when starting new teams. When building the launch string for starting a new team via the GUI, enclose the executable path in quotes to ensure paths with spaces are handled properly.
|
#
c90773b3ba2c62bbb45ebfc92db15274cdf8a8a9 |
|
29-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
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.
|
#
aad822734d4078d8075cdc95e940eb23ce0e6a2a |
|
03-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
Add message for starting a new team. Implements #9682. - The Debugger app now accepts a message asking it to start a new team. It attempts to do so given the path and arguments, and passes the result back to the sender if desired.
|
#
6799de315e5b0bbd65d73435ac886315bcf706b3 |
|
22-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add command line option to ask Debugger to save a report. - When invoked, starts up the CLI such that it bypasses waiting for input and instead save a crash report of the running team, then exits. Mainly intended to be used by debug_server.
|
#
7483c98dece8f3606fc5d3fd746c0544f7e4b6dd |
|
05-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger (and some friends): 64 bit fixes
|
#
726d557c9e2cedcf3145146e3e054c4931c5cb1e |
|
28-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Wait for TeamDebugger thread to die before exit()
|
#
f58478507cd4406bd5b2ddb415f4f6cb43456a86 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: In CLI mode block SIGINT in all threads It is supposed to be handled in the input loop thread only (eventually).
|
#
0a592099a94eb3727053c0e2ca571398dff75701 |
|
21-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Rework CLI setup to no longer create a BApplication The main thread does now serve the CLI input loop.
|
#
0f1f968ffb6f4b19193ccad1a4edae9e9a46ab19 |
|
20-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Actually create the CLI, if requested
|
#
08f7f5744ae01386f652a2f8caef6443c83dcc05 |
|
03-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Factor out _StartTeamDebugger() so it can be shared between the GUI and CLI initialization. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43160 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
192c6f9689da4808d8e768332872372df7dd7145 |
|
02-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add command line argument to specify usage of the CLI rather than the GUI. Not used yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43158 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c3e066cf6d35a86d29396d4e740f9811e506b66c |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Replaced uses of obsolescent BReference[able] API. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
30c47afa79f617945e74394c463e2eb5cc021950 |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Fix memory leak + style cleanup. Thanks Axel! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38787 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
190108e9c901482dabfc9c88fb2f9e23cdb405e3 |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Add missing allocation checks where needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38785 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
db2c7eeb49cf219569e7ff442187bab11805c82d |
|
22-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Style cleanup, no functional changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38782 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9135a7b8f8b9272cac96d8ca5bc62bc0f2fccd7a |
|
21-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Removed left-over. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38759 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb01bef441eb4f8a951633d646dd545fe5f800c |
|
21-Sep-2010 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Finally integrates running_teams_window stuff to the Debugger app: * Rework Debugger class a bit to ease integration * Expand TeamDebugger::Listener interface to notify start event too. * Former RunningTeamsWindow, now name TeamsWindow, is shown at start if no team/program to launch is specified. * Double-clicking a team item in this list starts a new Team debugger, or reactivate the existing one if any This window settings is not yet integrated with the SettingsManager. Will comes next. I plan to add some UI controls to this Teams window to allow user to setup a program arguments and environment variables and then launch & debug it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38758 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
59ea286fac914a808edc6989becc77dadff10383 |
|
05-Nov-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* 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
|
#
e3a631c0b48d904a9502dabb157639539484da53 |
|
15-Oct-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* 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
|
#
2bf55b39a5119e092a52d9e50da6efcb38393d54 |
|
23-Jul-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made FunctionID abstract. There are now two implementing subclasses, SourceFunctionID (where we know the souce location of the function) and ImageFunctionID (where we don't know the source location). Made the classes archivable. * Added support to find functions by ID. * Improved user breakpoint handling. We can now "install" a breakpoint before we even know the function instances in which to install it. Whenever image debug information become available, breakpoints are installed in the concerned function instances of the respective image. * Always trigger loading image debug info as soon as we become aware of an image. * Implemented a settings management mechanism. ATM only the breakpoint locations for debugged teams are persisted. This seriously improves the debugging fun, though. :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31728 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
719f89b06e70d04c8961b9b8fc24f1d368ecd621 |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed the application quit mechanism. Due to the two levels of asynchronous message sending the main thread exit()ed before the team debugger could process its quit message. We're no longer taking the detour via Debugger when quitting a window. The team debugger just quits and synchronously notifies the application, which in turn waits until all team debugger threads have gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31219 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e951f678c2850cfdbbe3bc56b040b468a8d45608 |
|
23-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved message code where it belongs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31217 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b9563a6fd991b5b63a808fccb7f90ef9cbdc0509 |
|
22-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Added NOTE on how to handle QuitRequested in the application and why using the base class version is fine for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31202 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
04743aeb5ff6eeb74afaf322a6d21c4f4939883b |
|
22-Jun-2009 |
Stephan Aßmus <superstippi@gmx.de> |
Filled up the quitting code path a bit. The TeamDebugger throws up an alert asking what to do with the debugged team. Killing it is not yet implemented. Then it notifies the application about the quit request. That in turn tears down the TeamDebugger and if no other ones are left, it quits itself. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31201 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
15f040e596308c36903c8381112ef04280b95963 |
|
19-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some work towards getting stack traces: * Added a virtual Architecture::CreateStackTrace() and added a basic implementation in ArchitectureX86. Fleshed out StackTrace/StackFrame a bit and added StackFrameX86. This needs to be organized differently, though, so that we can get the maximum available information for each stack frame, depending on what info is available for the respective function. * Added job to get the stack trace for a thread. * Added stack trace related handling in TeamDebugger. Reorganized the thread state/CPU state/stack trace change handling a bit -- we're using a Team::Listener now, and do things asynchronously. * Added a StackTraceView to display the stack trace of the current thread. No function name available yet, otherwise working fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31126 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94af2f4293e787097cb1c804f38439bdf498b735 |
|
17-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Removed some debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31081 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ac8b67130a537ab4aefbbe70df31659c1d00b8d8 |
|
16-Jun-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added bits and pieces to the model classes (Team, Thread, Image). * Added beginnings of the team window. Currently only showing the thread list (not updated yet). * Added application startup code and argument parsing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31073 a95241bf-73f2-0310-859d-f6bbb57e9c96
|