#
df19aba5 |
|
23-Feb-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
debug_commands: align user_data to 64bits It is cast to a struct with 64bit fields, so it should be aligned properly. Change-Id: I513cfba4d8fc4f4286b13edabc47fbbda3227bf6 Reviewed-on: https://review.haiku-os.org/c/1089 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
6179ce79 |
|
30-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the DEBUG_DEBUGGER_COMMANDS define again, and followed Ingo's suggestion by adding a "faults" command that now sets the gInvokeCommandDirectly variable as wished. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28382 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73aa393d |
|
31-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced pipes in the kernel debugger. The syntax is similar to pipes in the shell, though the semantics is a little different: The second command is invoked whenever the first command has written a complete line. The line is passed as last argument to the second command. The new command flag B_KDEBUG_PIPE_FINAL_RERUN causes the second command to be invoked again (with NULL argument) after the first command is done. * Added kprintf_unfiltered() and kputs_unfiltered() which bypass the pipe mechanism and directly print to the bluescreen/serial output. * Moved most commands from debug.cpp to the new debug_builtin_commands.cpp. * B_KDEBUG_DONT_PARSE_ARGUMENTS commands don't get an argument anymore, if it would consist of white space only. * Added new debugger command return value B_KDEBUG_ERROR, which indicates that executing the command failed. This return code will abort a complete pipe. * Since debugger commands can nest (i.e. one command can invoke another one) the setjmp()/longjmp() mechanism to restore the stack after a page fault in a command needs more than one jump buffer. * Added abort_debugger_command(), which longjmp()s out of the currently executed command. This will also abort the current pipe. * When pagination is enabled pressing "a" will abort the running command (as opposed to "q" which only disables the blue screen output, but lets the command continue). * Added debugger commands: - "grep" which can be used to filter output by pattern. Removed the "filter" command and the underlying mechanism that did that before. - "head" which prints only the first lines of output of another command. - "wc" counts lines, words, and characters of another command's output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a90d12e |
|
16-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added add_debugger_command_etc() which is similar to add_debugger_command(), but additionally takes parameters "usage" and "flags". * Added add_debugger_command_alias() which creates another name for an existing command. * Added print_debugger_command_usage() to print a command's usage. * invoke_debugger_command() intercepts invocations with "--help" and prints the command's usage text, if it is known. If unknown, the command will be called normally. * Made use of the new functions in debug.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
855ab2b3 |
|
16-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Based on ahwayakchih's blue screen paging code (see bug #1444), I added paging support to KDL (but not the on-screen debug output for now). * Defaults to "on", use the new "paging" KDL command to turn it off (or on again). * When pressing 'q' while it is waiting for a key, it will now eat the rest of the commands output (helpful for slow screen output of a large data set). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b4fa166 |
|
15-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented parse_expression(). The back-end is an expression parser that is a little more powerful than BeOS'. It features: - Persistent and temporary uint64 variables. The former kind is set only by the user. The latter (those prefixed "_") can be set automatically by commands, thus e.g. making it easier to access members of a dumped structure. They are unset when the next command is invoked. The special temporary variable "_" is defined as a command's return value. - Expressions can contain nested command invocations using brackets ("[ ... ]"). - Command lines are parsed by the expression parser, too. They can contain command invocations (in brackets) and expressions (in parentheses). * Added debugger commands: - expr: Evaluates the given expression and prints the result. - unset: Undefines a variable. - vars: Prints the values of all defined variables. * Moved debugger command code into its own source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6179ce7957df004d50d5cae22b389ded58104d2f |
|
30-Oct-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Removed the DEBUG_DEBUGGER_COMMANDS define again, and followed Ingo's suggestion by adding a "faults" command that now sets the gInvokeCommandDirectly variable as wished. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28382 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73aa393d737b25eb29a5200d5f6e6340000affee |
|
31-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced pipes in the kernel debugger. The syntax is similar to pipes in the shell, though the semantics is a little different: The second command is invoked whenever the first command has written a complete line. The line is passed as last argument to the second command. The new command flag B_KDEBUG_PIPE_FINAL_RERUN causes the second command to be invoked again (with NULL argument) after the first command is done. * Added kprintf_unfiltered() and kputs_unfiltered() which bypass the pipe mechanism and directly print to the bluescreen/serial output. * Moved most commands from debug.cpp to the new debug_builtin_commands.cpp. * B_KDEBUG_DONT_PARSE_ARGUMENTS commands don't get an argument anymore, if it would consist of white space only. * Added new debugger command return value B_KDEBUG_ERROR, which indicates that executing the command failed. This return code will abort a complete pipe. * Since debugger commands can nest (i.e. one command can invoke another one) the setjmp()/longjmp() mechanism to restore the stack after a page fault in a command needs more than one jump buffer. * Added abort_debugger_command(), which longjmp()s out of the currently executed command. This will also abort the current pipe. * When pagination is enabled pressing "a" will abort the running command (as opposed to "q" which only disables the blue screen output, but lets the command continue). * Added debugger commands: - "grep" which can be used to filter output by pattern. Removed the "filter" command and the underlying mechanism that did that before. - "head" which prints only the first lines of output of another command. - "wc" counts lines, words, and characters of another command's output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25744 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8a90d12e268b539b26b461a9e4e2560acdf91e2b |
|
16-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added add_debugger_command_etc() which is similar to add_debugger_command(), but additionally takes parameters "usage" and "flags". * Added add_debugger_command_alias() which creates another name for an existing command. * Added print_debugger_command_usage() to print a command's usage. * invoke_debugger_command() intercepts invocations with "--help" and prints the command's usage text, if it is known. If unknown, the command will be called normally. * Made use of the new functions in debug.cpp. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
855ab2b31289278d801aba118ea904726ad9d8de |
|
16-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Based on ahwayakchih's blue screen paging code (see bug #1444), I added paging support to KDL (but not the on-screen debug output for now). * Defaults to "on", use the new "paging" KDL command to turn it off (or on again). * When pressing 'q' while it is waiting for a key, it will now eat the rest of the commands output (helpful for slow screen output of a large data set). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3b4fa1664e6fb9ba781ee509bf725774937eeaeb |
|
15-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented parse_expression(). The back-end is an expression parser that is a little more powerful than BeOS'. It features: - Persistent and temporary uint64 variables. The former kind is set only by the user. The latter (those prefixed "_") can be set automatically by commands, thus e.g. making it easier to access members of a dumped structure. They are unset when the next command is invoked. The special temporary variable "_" is defined as a command's return value. - Expressions can contain nested command invocations using brackets ("[ ... ]"). - Command lines are parsed by the expression parser, too. They can contain command invocations (in brackets) and expressions (in parentheses). * Added debugger commands: - expr: Evaluates the given expression and prints the result. - unset: Undefines a variable. - vars: Prints the values of all defined variables. * Moved debugger command code into its own source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|