Revision tags: release/2.0 |
|
#
8a129cae |
| 27-Aug-1994 |
David Greenman <dg@FreeBSD.org> |
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Ad
1) Changed ddb into a option rather than a pseudo-device (use options DDB in your kernel config now). 2) Added ps ddb function from 1.1.5. Cleaned it up a bit and moved into its own file. 3) Added \r handing in db_printf. 4) Added missing memory usage stats to statclock(). 5) Added dummy function to pseudo_set so it will be emitted if there are no other pseudo declarations.
show more ...
|
#
f23b4c91 |
| 19-Aug-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Fix up some sloppy coding practices:
- Delete redundant declarations. - Add -Wredundant-declarations to Makefile.i386 so they don't come back. - Delete sloppy COMMON-style declarations of uninitiali
Fix up some sloppy coding practices:
- Delete redundant declarations. - Add -Wredundant-declarations to Makefile.i386 so they don't come back. - Delete sloppy COMMON-style declarations of uninitialized data in header files. - Add a few prototypes. - Clean up warnings resulting from the above.
NB: ioconf.c will still generate a redundant-declaration warning, which is unavoidable unless somebody volunteers to make `config' smarter.
show more ...
|
#
f540b106 |
| 13-Aug-1994 |
Garrett Wollman <wollman@FreeBSD.org> |
Change all #includes to follow the current Berkeley style. Some of these ``changes'' are actually not changes at all, but CVS sometimes has trouble telling the difference.
This also includes suppor
Change all #includes to follow the current Berkeley style. Some of these ``changes'' are actually not changes at all, but CVS sometimes has trouble telling the difference.
This also includes support for second-directory compiles. This is not quite complete yet, as `config' doesn't yet do the right thing. You can still make it work trivially, however, by doing the following:
rm /sys/compile mkdir /usr/obj/sys/compile ln -s M-. /sys/compile cd /sys/i386/conf config MYKERNEL cd ../../compile/MYKERNEL ln -s /sys @ rm machine ln -s @/i386/include machine make depend make
show more ...
|
Revision tags: release/1.1.5.1_cvs |
|
#
26f9a767 |
| 25-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
|
Revision tags: release/1.1.0_cvs |
|
#
51f4a07b |
| 11-Feb-1994 |
Guido van Rooij <guido@FreeBSD.org> |
ps works inside ddb now.
|
#
381fe1aa |
| 25-Nov-1993 |
Garrett Wollman <wollman@FreeBSD.org> |
Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, and add same (sans -Werror) to Makefile for future compilations.
|
Revision tags: release/1.0.0_cvs |
|
#
0edf66ec |
| 16-Oct-1993 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some minor cleanup. Added $Id$ to files that did not have any version info, etc
|
#
5b81b6b3 |
| 12-Jun-1993 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Initial import, 0.1 + pk 0.2.4-B1
|
#
9199c09a |
| 06-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge from head at r201628.
# This hasn't been tested, and there are at least three bad commits # that need to be backed out before the branch will be stable again.
|
Revision tags: release/8.0.0_cvs, release/8.0.0 |
|
#
a3de221d |
| 17-Nov-2009 |
Konstantin Belousov <kib@FreeBSD.org> |
Among signal generation syscalls, only sigqueue(2) is allowed by POSIX to fail due to lack of resources to queue siginfo. Add KSI_SIGQ flag that allows sigqueue_add() to fail while trying to allocate
Among signal generation syscalls, only sigqueue(2) is allowed by POSIX to fail due to lack of resources to queue siginfo. Add KSI_SIGQ flag that allows sigqueue_add() to fail while trying to allocate memory for new siginfo. When the flag is not set, behaviour is the same as for KSI_TRAP: if memory cannot be allocated, set bit in sq_kill. KSI_TRAP is kept to preserve KBI.
Add SI_KERNEL si_code, to be used in siginfo.si_code when signal is generated by kernel. Deliver siginfo when signal is generated by kill(2) family of syscalls (SI_USER with properly filled si_uid and si_pid), or by kernel (SI_KERNEL, mostly job control or SIGIO). Since KSI_SIGQ flag is not set for the ksi, low memory condition cause old behaviour.
Keep psignal(9) KBI intact, but modify it to generate SI_KERNEL si_code. Pgsignal(9) and gsignal(9) now take ksi explicitely. Add pksignal(9) that behaves like psignal but takes ksi, and ddb kill command implemented as pksignal(..., ksi = NULL) to not do allocation while in debugger.
While there, remove some register specifiers and use ANSI C prototypes.
Reviewed by: davidxu MFC after: 1 month
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
93d4804b |
| 25-Sep-2008 |
John Baldwin <jhb@FreeBSD.org> |
Initialize the DDB command list when initializing DDB so that the basic commands are available from 'boot -d'.
Suggested by: dfr
|
#
39297ba4 |
| 16-Sep-2008 |
Sam Leffler <sam@FreeBSD.org> |
Make ddb command registration dynamic so modules can extend the command set (only so long as the module is present): o add db_command_register and db_command_unregister to add and remove commands,
Make ddb command registration dynamic so modules can extend the command set (only so long as the module is present): o add db_command_register and db_command_unregister to add and remove commands, respectively o replace linker sets with SYSINIT's (and SYSUINIT's) that register commands o expose 3 list heads: db_cmd_table, db_show_table, and db_show_all_table for registering top-level commands, show operands, and show all operands, respectively
While here also: o sort command lists o add DB_ALIAS, DB_SHOW_ALIAS, and DB_SHOW_ALL_ALIAS to add aliases for existing commands o add "show all trace" as an alias for "show alltrace" o add "show all locks" as an alias for "show alllocks"
Submitted by: Guillaume Ballet <gballet@gmail.com> (original version) Reviewed by: jhb MFC after: 1 month
show more ...
|
#
9e340a61 |
| 25-Mar-2008 |
Sam Leffler <sam@FreeBSD.org> |
enable dynamic addition of "show all" commands
MFC after: 3 weeks
|
#
3755dbd8 |
| 07-Mar-2008 |
Robert Watson <rwatson@FreeBSD.org> |
When killing a user process from DDB, check that the requested signal is > 0 rather than >= 0, or we will panic when trying to deliver the signal.
MFC after: 3 days PR: 100802 Submitted by: Valerio
When killing a user process from DDB, check that the requested signal is > 0 rather than >= 0, or we will panic when trying to deliver the signal.
MFC after: 3 days PR: 100802 Submitted by: Valerio Daelli <valerio.daelli at gmail.com>
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
618c7db3 |
| 26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add textdump(4) facility, which provides an alternative form of kernel dump using mechanically generated/extracted debugging output rather than a simple memory dump. Current sources of debugging out
Add textdump(4) facility, which provides an alternative form of kernel dump using mechanically generated/extracted debugging output rather than a simple memory dump. Current sources of debugging output are:
- DDB output capture buffer, if there is captured output to save - Kernel message buffer - Kernel configuration, if included in kernel - Kernel version string - Panic message
Textdumps are stored in swap/dump partitions as with regular dumps, but are laid out as ustar files in order to allow multiple parts to be stored as a stream of sequentially written blocks. Blocks are written out in reverse order, as the size of a textdump isn't known a priori. As with regular dumps, they will be extracted using savecore(8).
One new DDB(4) command is added, "textdump", which accepts "set", "unset", and "status" arguments. By default, normal kernel dumps are generated unless "textdump set" is run in order to schedule a textdump. It can be canceled using "textdump unset" to restore generation of a normal kernel dump.
Several sysctls exist to configure aspects of textdumps; debug.ddb.textdump.pending can be set to check whether a textdump is pending, or set/unset in order to control whether the next kernel dump will be a textdump from userspace.
While textdumps don't have to be generated as a result of a DDB script run automatically as part of a kernel panic, this is a particular useful way to use them, as instead of generating a complete memory dump, a simple transcript of an automated DDB session can be captured using the DDB output capture and textdump facilities. This can be used to generate quite brief kernel bug reports rich in debugging information but not dependent on kernel symbol tables or precisely synchronized source code. Most textdumps I generate are less than 100k including the full message buffer. Using textdumps with an interactive debugging session is also useful, with capture being enabled/disabled in order to record some but not all of the DDB session.
MFC after: 3 months
show more ...
|
#
c9b0cc3b |
| 26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No hi
Add a simple scripting facility to DDB(4), allowing the user to define a set of named scripts. Each script consists of a list of DDB commands separated by ";"s that will be executed verbatim. No higher level language constructs, such as branching, are provided for: scripts are executed by sequentially injecting commands into the DDB input buffer.
Four new commands are present in DDB: "run" to run a specific script, "script" to define or print a script, "scripts" to list currently defined scripts, and "unscript" to delete a script, modeled on shell alias commands. Scripts may also be manipulated using sysctls in the debug.ddb.scripting MIB space, although users will prefer to use the soon-to-be-added ddb(8) tool for usability reasons.
Scripts with certain names are automatically executed on various DDB events, such as entering the debugger via a panic, a witness error, watchdog, breakpoint, sysctl, serial break, etc, allowing customized handling.
MFC after: 3 months
show more ...
|
#
086fec57 |
| 26-Dec-2007 |
Robert Watson <rwatson@FreeBSD.org> |
Add a new DDB(4) facility, output capture. Input and output from DDB may be captured to a memory buffer for later inspection using sysctl(8), or in the future, to a textdump.
A new DDB command, "ca
Add a new DDB(4) facility, output capture. Input and output from DDB may be captured to a memory buffer for later inspection using sysctl(8), or in the future, to a textdump.
A new DDB command, "capture", is added, which accepts arguments "on", "off", "reset", and "status".
A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to resize the capture buffer and extract buffer contents.
MFC after: 3 months
show more ...
|
#
f67af5c9 |
| 17-Jan-2007 |
Xin LI <delphij@FreeBSD.org> |
Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form.
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
9641e389 |
| 02-Nov-2006 |
Konstantin Belousov <kib@FreeBSD.org> |
On trap while inside ddb, the trap handler calls kdb_reenter(), that longjmp to the default context. As result, "alltrace" command may be prematurely terminated (without error message). This is happe
On trap while inside ddb, the trap handler calls kdb_reenter(), that longjmp to the default context. As result, "alltrace" command may be prematurely terminated (without error message). This is happens, for instance, when system is low on memory and referenced page in kernel-mode thread stack is swapped out.
Protect "alltrace" against termination on trap by setting temporary kdb_jmpbuf context.
Submitted by: Peter Holm
show more ...
|
#
e4b732cf |
| 10-Oct-2006 |
Bruce Evans <bde@FreeBSD.org> |
The powerpc and sparc64 MD `reboot' commands should never have existed since they just duplicated the MI `reset' command. Instead of removing them, make `reboot' an MI alias for `reboot' since this
The powerpc and sparc64 MD `reboot' commands should never have existed since they just duplicated the MI `reset' command. Instead of removing them, make `reboot' an MI alias for `reboot' since this gives a better way of killing the `r' alias for `reset'. Remove the `registers' command that was used to kill the alias.
Turn the powerpc and sparc64 MD `halt' command into an MI command.
A copy of sparc64/db_interface.c grew in sun4v just after I found the extra reboot commands. It has not been changed, and is now not identical. Duplicated commands come out duplicated in ddb's online help, but cause large problems when used (e.g., on i386's with 2 halt's and an hwatch, typing h doesn' give the expected message about an ambiguous command, but hangs like the halt command or a looping parseri would).
show more ...
|
#
75149ab8 |
| 08-Oct-2006 |
Bruce Evans <bde@FreeBSD.org> |
Added some aliases: - `b' is now an official alias for `break'. It used to be an unofficial alias, but this was broken by adding the `bt' alias for `trace'. - `t' is now an official alias for `tra
Added some aliases: - `b' is now an official alias for `break'. It used to be an unofficial alias, but this was broken by adding the `bt' alias for `trace'. - `t' is now an official alias for `trace'. It used to be an unofficial alias, but this was broken by adding the `thread' command. - `registers' is now an alias for `show registers'. This is a hack to break the unofficial `r' alias for `reset'. `r' really means `registers' in some debuggers, so I sometimes type it accidentally and am annoyed when it resets the system. A short command shouldn't have such a large effect. Now at least `res' must be typed to disambiguate `reset'.
show more ...
|
#
2481da74 |
| 08-Oct-2006 |
Bruce Evans <bde@FreeBSD.org> |
Fixed formatting of printing of command tables. WIth the default max output width of 79, only 6 columns of width 12 each fit, but 7 columns were printed.
The fix is to pass the width of the next ou
Fixed formatting of printing of command tables. WIth the default max output width of 79, only 6 columns of width 12 each fit, but 7 columns were printed.
The fix is to pass the width of the next output to db_end_line() and not assume there that this width is always 1.
Related unfixed bugs: - 1 character is wasted for a space after the last column - suppression of trailing spaces used to limit the misformatting, but seems to have been lost - in db_examine(), the width of the next output is not know and is still assumed to be 1.
show more ...
|
#
15cc91d3 |
| 19-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Disable the pager for 'panic' and 'call' to be paranoid.
|
#
19e9205a |
| 12-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Simplify the pager support in DDB. Allowing different db commands to install custom pager functions didn't actually happen in practice (they all just used the simple pager and passed in a local quit
Simplify the pager support in DDB. Allowing different db commands to install custom pager functions didn't actually happen in practice (they all just used the simple pager and passed in a local quit pointer). So, just hardcode the simple pager as the only pager and make it set a global db_pager_quit flag that db commands can check when the user hits 'q' (or a suitable variant) at the pager prompt. Also, now that it's easy to do so, enable paging by default for all ddb commands. Any command that wishes to honor the quit flag can do so by checking db_pager_quit. Note that the pager can also be effectively disabled by setting $lines to 0.
Other fixes: - 'show idt' on i386 and pc98 now actually checks the quit flag and terminates early. - 'show intr' now actually checks the quit flag and terminates early.
show more ...
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
cf93bc66 |
| 21-Apr-2006 |
John Baldwin <jhb@FreeBSD.org> |
Use LIST_FOREACH().
|