#
45e0c33d |
|
01-May-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: Make CliContext use BLooper for message passing This commit replaces the custom implementation of message passing with BLooper. This commit does not fully transition the code to the BLooper paradigm. WaitForEvent still exists, when, ideally, message passing should be used to notify the waiting class that the results are ready. Change-Id: Id223b9fc0ac1aa9a5a5aeb4af63da04f2cc7574b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6400 Reviewed-by: John Scipione <jscipione@gmail.com> Reviewed-by: Rene Gollent <rene@gollent.com>
|
#
39f337c8 |
|
19-Apr-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: Refactor CliContext::WaitForThreadOrUser Change-Id: Ic232432f253900a44ad9929cafa46971833cfb5b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6367 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Reviewed-by: Rene Gollent <rene@gollent.com>
|
#
44daad61 |
|
12-Apr-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: improve command help text Improve the help text of the db, dw, ds, dl, and string commands. This is accomplished by * Splitting CliDumpMemoryCommand into CliDumpMemoryCommand and CliDumpStringCommand * Moving code shared between the two into CliContext * Removing functions in CliContext that were replaced by this movement * Allowing customizing the help text for CliDumpMemoryCommand for each command it represents * Changing the help text for CliDumpStringCommand Change-Id: If4f9e0c20f00f3e3d6c6769216fabb3160aea0a4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6332 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
92f36c4a |
|
18-Apr-2023 |
Zardshard <0azrune6@zard.anonaddy.com> |
Debugger: Remove unused function Change-Id: I92b7260d4b5b7d187ec9ecd9f9f602c317410aa6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6362 Reviewed-by: Rene Gollent <rene@gollent.com>
|
#
05fc1277 |
|
03-Jul-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix team restart request. UserInterface: - Add Clone() function to set of required virtuals. This asks the subclass to create a new instance of its respective type. {CommandLine,Graphical,Report}UserInterface: - Implement the above function. TeamDebugger: - Add accessor for the currently active UI. TargetHostInterface: - Set correct request type when setting up the options for a team restart. - Ask the TeamDebugger for its user interface and clone it in order to fill in that aspect of the debug options. This fixes a regression introduced in commit 880a64, which inadvertently resulted in team restarts no longer working.
|
#
e2d845a4 |
|
26-Apr-2016 |
Rene Gollent <rene@gollent.com> |
Debugger: Implement remainder of #12729. UserInterfaceListener: - Add request hook for writing a core file. Implement in TeamDebugger. Jobs/WriteCoreFileJob: - Add new job to actually dispatch the core file request via the debugger interface. Team{::Listener} - Add listener event + hook for notifications when a core file gets written. Implement in CLI. CliContext: - Add event flag for core file changed. CommandLineUserInterface: - Add 'write-core' command. This optionally takes a path to write the core to, otherwise one is automatically generated by, similarly to debug reports. As such, one can now generate cores for things like app_server and registrar crashes if desired, in addition to reports.
|
#
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.
|
#
7f77789d |
|
14-Aug-2015 |
Rene Gollent <rene@gollent.com> |
Debugger: Add work notification hook to UserInterface. UserInterface: - Add new hook function used to notify the UI that some form of background work is taking place for informational purposes, i.e. no interaction required. Implement accordingly in GraphicalUserInterface.
|
#
8b9099b1 |
|
04-Nov-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix #11411. CliContext/CommandLineUserInterface: - Process the debug report event asynchronously. The missing lock that was fixed in commit 5ac34e5a78305abac4c758a34db9f1e34aee54ed highlighted a problem in how the CLI was handling the case where it was intended to exit immediately after saving a report, since it issued the quit request directly from the report event handler. This resulted in locking issues, as the team debugger would then attempt to tear itself down, during which it needs to acquire the team lock. However, that was already being held by the thread in which the CLI was initiating the quit, resulting in a deadlock.
|
#
bbf320ec |
|
15-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: UserInterface enhancements. Add hook to UserInterface to query if Debugger is currently being run interactively or not. Add corresponding implementations in {CommandLine,Graphical}UserInterface.
|
#
d9e97187 |
|
10-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Add file prompt hook to UserInterface. In some circumstances, it may be necessary to ask the user to locate a file from the lower layers. Adds the corresponding hook to UserInterface, and a stub implementation for CommandLineUserInterface. Adds full implementation for GraphicalUserInterface.
|
#
dad4ae32 |
|
09-Dec-2013 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix race condition. - For the functionality added to address #10283, we need to wait until we receive the Team listener's thread state change notification before submitting the report generation request, else the thread might not actually be stopped yet when the generator walks the thread list. Should fix some lingering issues with stack traces sometimes not being returned when using this mode of operation.
|
#
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.
|
#
7024fac2 |
|
19-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Clean up _RegisterCommands(). - _RegisterCommand() now accepts a space separated list of names to register a command by and creates a registration for each.
|
#
ec7c59ca |
|
18-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add memory dumping commands similar to those in KDL.
|
#
596922bb |
|
17-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add CLI print variable command.
|
#
287cda6f |
|
16-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add some more commands to the CLI. - Added 'frame' command for setting/printing the context's current stack frame within the active stack trace. - Added 'variables' command for printing the list of variables visible within the current frame.
|
#
5fe3a57c |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix handling of automatic debug reports. - CommandLineUserInterface is now a team listener. Consequently, when asked to generate a debug report on startup without running the input loop, it now waits for receipt of the debug report event to terminate. - Style fixes.
|
#
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.
|
#
ae10992d |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix order.
|
#
bb7d146c |
|
22-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add CLI command for saving debug reports.
|
#
9b008d31 |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Add a bunch of new commands * "thread": prints/sets the current thread. * "continue", "stop": continue/stop the current thread. * "sc"/"bt": Print a stack trace for the current thread. Very basic yet.
|
#
86b1039b |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CliContext: More event handling, current thread * Introduce the notion of a current thread. That's the one certain commands will target (by default). * Add more event handling in CliContext. There's now a queue of pending events which are printed in the input loop at convenient times to inform the user about what happened (new/deleted/stopped threads, etc.).
|
#
d4586180 |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Improve "help" command Given a command name it prints the command's usage.
|
#
8fe9f8b2 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Move more stuff to and extend CliContext * Move the libedit interface there and provide nicer to use methods. * Also start adding utility methods for the input loop. It is going to manage all interactions of the input loop with outside events. * Fix the "quit" command. The user is now prompted what to do with the debugged team and the input loop thread avoids reentering the input loop.
|
#
eba38eb5 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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.
|
#
aacf2782 |
|
24-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Switch from readline to libedit
|
#
f4b1ddb5 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Coding style: normalize naming, some whitespace fixes * TeamUISettings[Factory] -> TeamUiSettings[Factory] * GUITeamUISettings -> GuiTeamUiSettings * GUISettingsUtils -> GuiSettingsUtils
|
#
48b4d204 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Add "threads" command It just lists the team's thread.
|
#
a6de32b0 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Pull QuitCommand out of CommandLineUserInterface
|
#
d0ef7540 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Start to imbue CliContext with life
|
#
abbcb2ca |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Use readline in the CLI This is a bit hacky, since gdb's readline is used. It would probably be best to prepare an optional build package.
|
#
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.
|
#
6d60b554 |
|
20-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Some basic work to get the CLI going There's an input loop thread which reads and parses command lines and the infrastructure for registering and executing commands. Currently only "help" and "quit" commands are implemented.
|
#
20616c59 |
|
03-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add stubs for the eventual command line interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43156 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.
|
#
7f77789d5b4e4eb34bad204d7a1ebc00b3006db6 |
|
14-Aug-2015 |
Rene Gollent <rene@gollent.com> |
Debugger: Add work notification hook to UserInterface. UserInterface: - Add new hook function used to notify the UI that some form of background work is taking place for informational purposes, i.e. no interaction required. Implement accordingly in GraphicalUserInterface.
|
#
8b9099b1b24358076e28f6e3a894e6f39de4cece |
|
04-Nov-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix #11411. CliContext/CommandLineUserInterface: - Process the debug report event asynchronously. The missing lock that was fixed in commit 5ac34e5a78305abac4c758a34db9f1e34aee54ed highlighted a problem in how the CLI was handling the case where it was intended to exit immediately after saving a report, since it issued the quit request directly from the report event handler. This resulted in locking issues, as the team debugger would then attempt to tear itself down, during which it needs to acquire the team lock. However, that was already being held by the thread in which the CLI was initiating the quit, resulting in a deadlock.
|
#
bbf320ecfeb798edac97b226c92af1487a942428 |
|
15-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: UserInterface enhancements. Add hook to UserInterface to query if Debugger is currently being run interactively or not. Add corresponding implementations in {CommandLine,Graphical}UserInterface.
|
#
d9e97187f53201ae200731a0503448c04acec988 |
|
10-Jun-2014 |
Rene Gollent <rene@gollent.com> |
Debugger: Add file prompt hook to UserInterface. In some circumstances, it may be necessary to ask the user to locate a file from the lower layers. Adds the corresponding hook to UserInterface, and a stub implementation for CommandLineUserInterface. Adds full implementation for GraphicalUserInterface.
|
#
dad4ae32f19e9cf1a55f016a4a7a2635ae392bf9 |
|
09-Dec-2013 |
Rene Gollent <rene@gollent.com> |
Debugger: Fix race condition. - For the functionality added to address #10283, we need to wait until we receive the Team listener's thread state change notification before submitting the report generation request, else the thread might not actually be stopped yet when the generator walks the thread list. Should fix some lingering issues with stack traces sometimes not being returned when using this mode of operation.
|
#
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.
|
#
7024fac2201165285f896cb3e2abaebabe4c8f1d |
|
19-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Clean up _RegisterCommands(). - _RegisterCommand() now accepts a space separated list of names to register a command by and creates a registration for each.
|
#
ec7c59ca09cff4de780eb06a10144ff75c86ac5a |
|
18-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add memory dumping commands similar to those in KDL.
|
#
596922bb7f69c3f2c267415886e90574efc53d59 |
|
17-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add CLI print variable command.
|
#
287cda6f721210e5b380c674fbd3f365b0ff71d6 |
|
16-Dec-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add some more commands to the CLI. - Added 'frame' command for setting/printing the context's current stack frame within the active stack trace. - Added 'variables' command for printing the list of variables visible within the current frame.
|
#
5fe3a57c43cb4d106c1109e042bc9588d67e0c9d |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix handling of automatic debug reports. - CommandLineUserInterface is now a team listener. Consequently, when asked to generate a debug report on startup without running the input loop, it now waits for receipt of the debug report event to terminate. - Style fixes.
|
#
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.
|
#
ae10992d0e6ba489e561e39b374fe3462eff4678 |
|
23-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Fix order.
|
#
bb7d146c64d025442c6798caf2d13114dfd18deb |
|
22-Nov-2012 |
Rene Gollent <anevilyak@gmail.com> |
Add CLI command for saving debug reports.
|
#
9b008d31ffa35bb2c98bb2accf83e16fb7f2f9ad |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Add a bunch of new commands * "thread": prints/sets the current thread. * "continue", "stop": continue/stop the current thread. * "sc"/"bt": Print a stack trace for the current thread. Very basic yet.
|
#
86b1039b4240746ffe42bd8563b5333751bd2456 |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CliContext: More event handling, current thread * Introduce the notion of a current thread. That's the one certain commands will target (by default). * Add more event handling in CliContext. There's now a queue of pending events which are printed in the input loop at convenient times to inform the user about what happened (new/deleted/stopped threads, etc.).
|
#
d4586180a674df11cbfbea1cf2ce527bf1ed4117 |
|
04-Aug-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Improve "help" command Given a command name it prints the command's usage.
|
#
8fe9f8b2d0e3c8f88406f5720a1d2027638c43b6 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Move more stuff to and extend CliContext * Move the libedit interface there and provide nicer to use methods. * Also start adding utility methods for the input loop. It is going to manage all interactions of the input loop with outside events. * Fix the "quit" command. The user is now prompted what to do with the debugged team and the input loop thread avoids reentering the input loop.
|
#
eba38eb503254ad8fba4466c6b983b76c3510af1 |
|
27-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
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.
|
#
aacf2782d8022d7178125948daac67533ef3e473 |
|
24-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Switch from readline to libedit
|
#
f4b1ddb580a6a390c7b11b66c799de95014c2c29 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Coding style: normalize naming, some whitespace fixes * TeamUISettings[Factory] -> TeamUiSettings[Factory] * GUITeamUISettings -> GuiTeamUiSettings * GUISettingsUtils -> GuiSettingsUtils
|
#
48b4d20480441b4525de6b90cab9539a834ab8fd |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Add "threads" command It just lists the team's thread.
|
#
a6de32b06c65d62f585d77eb77870f171a5f0e3b |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Pull QuitCommand out of CommandLineUserInterface
|
#
d0ef75400b4136bac523bb2f71cd55af2262543a |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger CLI: Start to imbue CliContext with life
|
#
abbcb2caf536311e45a4a25b68339fc92e74bbb1 |
|
23-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Use readline in the CLI This is a bit hacky, since gdb's readline is used. It would probably be best to prepare an optional build package.
|
#
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.
|
#
6d60b554e6d6cee2a7e73e95b5e06374c9f2e32f |
|
20-Jul-2012 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Debugger: Some basic work to get the CLI going There's an input loop thread which reads and parses command lines and the infrastructure for registering and executing commands. Currently only "help" and "quit" commands are implemented.
|
#
20616c59c121f5ae49a83d8a7542537c18a08a28 |
|
03-Nov-2011 |
Rene Gollent <anevilyak@gmail.com> |
Add stubs for the eventual command line interface. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|