mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
Implement and document the -q and -f options with their corresponding
long form (-quiet and -fullname resp.) Bump documentation date. PR: bin/78031 MFC after: 5 days
This commit is contained in:
parent
1cd0f19904
commit
7c6ae50b9d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=143046
@ -23,7 +23,7 @@
|
|||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd August 1, 2004
|
.Dd March 2, 2005
|
||||||
.Os
|
.Os
|
||||||
.Dt KGDB 1
|
.Dt KGDB 1
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -31,7 +31,8 @@
|
|||||||
.Nd "kernel debugger"
|
.Nd "kernel debugger"
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl a
|
.Op Fl a | Fl f | Fl fullname
|
||||||
|
.Op Fl q | Fl quiet
|
||||||
.Op Fl v
|
.Op Fl v
|
||||||
.Op Fl d Ar crashdir
|
.Op Fl d Ar crashdir
|
||||||
.Op Fl c Ar core | Fl n Ar dumpnr | Fl r Ar device
|
.Op Fl c Ar core | Fl n Ar dumpnr | Fl r Ar device
|
||||||
@ -54,6 +55,16 @@ option of
|
|||||||
This is useful when running
|
This is useful when running
|
||||||
.Nm
|
.Nm
|
||||||
in Emacs.
|
in Emacs.
|
||||||
|
The
|
||||||
|
.Fl f
|
||||||
|
or
|
||||||
|
.Fl fullname
|
||||||
|
options are supported for backward compatibility as well.
|
||||||
|
.It Fl q
|
||||||
|
Suppress printing of the banner when the debugger starts.
|
||||||
|
The
|
||||||
|
.Fl quiet
|
||||||
|
form is supported for compatibility as well.
|
||||||
.It Fl v
|
.It Fl v
|
||||||
Increase verbosity.
|
Increase verbosity.
|
||||||
.It Fl d Ar crashdir
|
.It Fl d Ar crashdir
|
||||||
|
@ -82,7 +82,7 @@ usage(void)
|
|||||||
{
|
{
|
||||||
|
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"usage: %s [-a] [-v] [-d crashdir] [-c core | -n dumpnr | -r device]\n"
|
"usage: %s [-afqv] [-d crashdir] [-c core | -n dumpnr | -r device]\n"
|
||||||
"\t[kernel [core]]\n", getprogname());
|
"\t[kernel [core]]\n", getprogname());
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -243,7 +243,7 @@ main(int argc, char *argv[])
|
|||||||
struct stat st;
|
struct stat st;
|
||||||
struct captured_main_args args;
|
struct captured_main_args args;
|
||||||
char *s;
|
char *s;
|
||||||
int ch;
|
int a, ch, quiet;
|
||||||
|
|
||||||
dumpnr = -1;
|
dumpnr = -1;
|
||||||
|
|
||||||
@ -252,7 +252,24 @@ main(int argc, char *argv[])
|
|||||||
if (s != NULL)
|
if (s != NULL)
|
||||||
strlcpy(crashdir, s, sizeof(crashdir));
|
strlcpy(crashdir, s, sizeof(crashdir));
|
||||||
|
|
||||||
while ((ch = getopt(argc, argv, "ac:d:n:r:v")) != -1) {
|
/* Convert long options into short options. */
|
||||||
|
for (a = 1; a < argc; a++) {
|
||||||
|
s = argv[a];
|
||||||
|
if (s[0] == '-') {
|
||||||
|
s++;
|
||||||
|
/* Long options take either 1 or 2 dashes. */
|
||||||
|
if (s[0] == '-')
|
||||||
|
s++;
|
||||||
|
if (strcmp(s, "quiet") == 0)
|
||||||
|
argv[a] = "-q";
|
||||||
|
else if (strcmp(s, "fullname") == 0)
|
||||||
|
argv[a] = "-f";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
quiet = 0;
|
||||||
|
|
||||||
|
while ((ch = getopt(argc, argv, "ac:d:fn:qr:v")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'a':
|
case 'a':
|
||||||
annotation_level++;
|
annotation_level++;
|
||||||
@ -269,6 +286,9 @@ main(int argc, char *argv[])
|
|||||||
case 'd': /* lookup dumps in given directory. */
|
case 'd': /* lookup dumps in given directory. */
|
||||||
strlcpy(crashdir, optarg, sizeof(crashdir));
|
strlcpy(crashdir, optarg, sizeof(crashdir));
|
||||||
break;
|
break;
|
||||||
|
case 'f':
|
||||||
|
annotation_level = 1;
|
||||||
|
break;
|
||||||
case 'n': /* use dump with given number. */
|
case 'n': /* use dump with given number. */
|
||||||
dumpnr = strtol(optarg, &s, 0);
|
dumpnr = strtol(optarg, &s, 0);
|
||||||
if (dumpnr < 0 || *s != '\0') {
|
if (dumpnr < 0 || *s != '\0') {
|
||||||
@ -278,6 +298,9 @@ main(int argc, char *argv[])
|
|||||||
/* NOTREACHED */
|
/* NOTREACHED */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'q':
|
||||||
|
quiet = 1;
|
||||||
|
break;
|
||||||
case 'r': /* use given device for remote session. */
|
case 'r': /* use given device for remote session. */
|
||||||
if (remote != NULL) {
|
if (remote != NULL) {
|
||||||
warnx("option %c: can only be specified once",
|
warnx("option %c: can only be specified once",
|
||||||
@ -390,9 +413,15 @@ main(int argc, char *argv[])
|
|||||||
kgdb_thr_init();
|
kgdb_thr_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The libgdb code uses optind too. Reset it... */
|
||||||
|
optind = 0;
|
||||||
|
|
||||||
memset (&args, 0, sizeof args);
|
memset (&args, 0, sizeof args);
|
||||||
args.argc = 1;
|
|
||||||
args.argv = argv;
|
args.argv = argv;
|
||||||
|
args.argc = 1 + quiet;
|
||||||
|
if (quiet)
|
||||||
|
argv[1] = "-q";
|
||||||
|
argv[args.argc] = NULL;
|
||||||
args.use_windows = 0;
|
args.use_windows = 0;
|
||||||
args.interpreter_p = "kgdb";
|
args.interpreter_p = "kgdb";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user