diff --git a/usr.bin/ktrace/ktrace.c b/usr.bin/ktrace/ktrace.c index 26606d75bc6a..a57c4f4d1e23 100644 --- a/usr.bin/ktrace/ktrace.c +++ b/usr.bin/ktrace/ktrace.c @@ -49,8 +49,15 @@ static char sccsid[] = "@(#)ktrace.c 8.1 (Berkeley) 6/6/93"; #include #include #include +#include #include "ktrace.h" +void noktrace() { + (void)fprintf(stderr, "ktrace: ktrace not enabled in kernel,to use ktrace\n"); + (void)fprintf(stderr, "you need to add a line \"options KTRACE\" to your kernel\n"); + exit(1); +} + main(argc, argv) int argc; char **argv; @@ -65,6 +72,9 @@ main(argc, argv) append = ops = pidset = inherit = 0; trpoints = DEF_POINTS; tracefile = DEF_TRACEFILE; + /* set up a signal handler for SIGSYS, this indicates that ktrace + is not enabled in the kernel */ + signal(SIGSYS, noktrace); while ((ch = getopt(argc,argv,"aCcdf:g:ip:t:")) != EOF) switch((char)ch) { case 'a':