⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ksymoops.8

📁 kdb-v4.3-2.4.20-common-1.bz2 键盘的驱动啊 克里斯蒂警方可死了地方军
💻 8
📖 第 1 页 / 共 3 页
字号:
.TH KSYMOOPS 8 "August 20, 2004".hy 0.UC 4.SH NAMEksymoops \- a utility to decode Linux kernel Oops.SH SYNOPSIS.B ksymoops.br[\ \fB-v\ \fIvmlinux\fR\ ][\ \fB--vmlinux=\fIvmlinux\fR\ ][\ \fB-V\fR\ ][\ \fB--no-vmlinux\fR\ ].br[\ \fB-k\ \fIksyms\fR\ ][\ \fB--ksyms=\fIksyms\fR\ ][\ \fB-K\fR\ ][\ \fB--no-ksyms\fR\ ].br[\ \fB-l\ \fIlsmod\fR\ ][\ \fB--lsmod=\fIlsmod\fR\ ][\ \fB-L\fR\ ][\ \fB--no-lsmod\fR\ ].br[\ \fB-o\ \fIobject\fR\ ][\ \fB--object=\fIobject\fR\ ][\ \fB-O\fR\ ][\ \fB--no-object\fR\ ].br[\ \fB-m\ \fIsystem.map\fR\ ][\ \fB--system-map=\fIsystem.map\fR\ ][\ \fB-M\fR\ ][\ \fB--no-system-map\fR\ ].br[\ \fB-s\ \fIsave.map\fR\ ][\ \fB--save-map=\fIsave.map\fR\ ].br[\ \fB-S\fR\ ][\ \fB--short-lines\fR\ ].br[\ \fB-e\fR\ ][\ \fB--endian-swap\fR\ ].br[\ \fB-x\fR\ ][\ \fB--hex\fR\ ].br[\ \fB-1\fR\ ][\ \fB--one-shot\fR\ ].br[\ \fB-i\fR\ ][\ \fB--ignore-insmod-path\fR\ ].br[\ \fB-I\fR\ ][\ \fB--ignore-insmod-all\fR\ ].br[\ \fB-T\ \fItruncate\fR\ ][\ \fB--truncate=\fItruncate\fR\ ].br[\ \fB-d\fR\ ][\ \fB--debug\fR\ ].br[\ \fB-h\fR\ ][\ \fB--help\fR\ ].br[\ \fB-t\ \fItarget\fR\ ][\ \fB--target=\fItarget\fR\ ].br[\ \fB-a\ \fIarchitecture\fR\ ][\ \fB--architecture=\fIarchitecture\fR\ ].br[\ \fB-A\ \fI"address list"\fR\ ][\ \fB--addresses=\fI"address list"\fR\ ].br[\ \fIOops.file\ ...\fR\ ].SH DESCRIPTIONksymoops extracts kernel Oops reports from the Oops.file and usesvarious sources of symbol information to convert the addresses and codeto meaningful text.  Reporting a kernel Oops is meaningless on its ownbecause other people do not know what your kernel looks like, you needto feed the Oops text through ksymoops then send the ksymoops output aspart of your bug report..PThe ksymoops executable is meant to be run whenever you have Oops toreport.  The original Oops text can come from anywhere.  Typically itis in a file created by your syslogd(8).  If syslogd is not available,the log might be available via dmesg(8).  If you are running a serialconsole (see linux/Documentation/serial-console.txt) then you cancapture the Oops text on another machine.  If all else fails, copy theOops by hand from the screen, reboot and enter it by hand..Pksymoops can be run by anybody who has read access to the various inputfiles.  It does not have to be run as root..SH OPTIONS.PSome of the options have default values that are set in the Makefile.The text below describes the standard defaults but your distributionmay have been modified to use different defaults.  If in doubt,\fIksymoops\ -h\fR will list the current defaults..PThe first 10 options (\fB-v\fR, \fB-V\fR, \fB-k\fR, \fB-K\fR, \fB-l\fR,\fB-L\fR, \fB-o\fR, \fB-O\fR, \fB-m\fR, \fB-M\fR or the correspondinglong forms) are 5 pairs.  The lower case options (vklom) take a valueand turn the option on, the upper case options (VKLOM) take no valueand turn the option off.  If you specify both lower and upper caseversions of the same option then the last one is used but you arewarned that it may not be what you intended..P.ne 5ksymoops will run quite happily with no options.  However there is arisk that the default values for the symbol sources may not besuitable.  Therefore if none of\fB-v\ \fIvmlinux\fR, \fB-V\fR,\fB-k\ \fIksyms\fR, \fB-K\fR,\fB-l\ \fIlsmod\fR, \fB-L\fR,\fB-o\ \fIobject\fR, \fB-O\fR,\fB-m\ \fIsystem.map\fR or \fB-M\fRare specified, ksymoops prints a warning message..IP "" 4You did not tell me where to find symbol information.  I will assumethat the log matches the kernel and modules that are running right nowand I'll use the default options above for symbol resolution.If the current kernel and/or modules do not match the log, you can getmore accurate output by telling me the kernel version and where to findmap, modules, ksyms etc.  ksymoops\ -h explains the options..PIf any of the\fB-v\ \fIvmlinux\fR,\fB-k\ \fIksyms\fR,\fB-l\ \fIlsmod\fR,\fB-o\ \fIobject\fR or\fB-m\ \fIsystem.map\fRoptions contain the string *r (*m, *n, *s) then the string is replacedat run time by the current value of `uname\ -r` (-m, -n, -s).  This ismainly intended to let ksymoops automatically pick up version dependentfiles using its default parameters, however it could be used by bugreporting scripts to automatically pick up files whose name ordirectory depends on the current kernel..TP\fB-v\ \fIvmlinux\fR\ \fB--vmlinux=\fIvmlinux\fRName of the vmlinux file that corresponds to the failing kernel.\fBNote:\fR\ This is the vmlinux file, not zImage, bzImage, vmlinuzetc.  Typically this would be /usr/src/linux/vmlinux.  If you specify\fB-v\fR, you should only specify it once..TP\fB-V\fR\ \fB--no-vmlinux\fRDo not read any vmlinux file..PDefault is \fB-V\fR..TP\fB-k\ \fIksyms\fR\ \fB--ksyms=\fIksyms\fRWhere to find the list of kernel symbols at the time of the failure.Unfortunately the kernel symbol list in /proc/ksyms is volatile, it isupdated as modules are loaded and removed.  Try to copy /proc/ksyms toa normal file as soon as possible after the Oops and point ksymoops atthat copy using \fB-k\fR.  Modutils has support for automaticallycopying ksyms and lsmod data, see insmod(8).  If you had to rebootafter the Oops and you do not have a copy of /proc/ksyms at the time ofthe Oops, try to reload the same modules in the same order beforerunning ksymoops.  If you specify \fB-k\fR, you should only specify itonce..TP\fB-K\fR\ \fB--no-ksyms\fRDo not read any kernel symbols..PDefault is \fB-k\ \fI/proc/ksyms\fR..TP\fB-l\ \fIlsmod\fR\ \fB--lsmod=\fIlsmod\fRWhere to find the list of loaded modules at the time of the failure.Unfortunately the list in /proc/modules is volatile, it is updated asmodules are loaded and removed.  Try to copy /proc/modules to a normalfile as soon as possible after the Oops and point ksymoops at that copyusing \fB-l\fR.  Modutils has support for automatically copying ksymsand lsmod data, see insmod(8).  If you had to reboot after the Oops andyou do not have a copy of /proc/modules at the time of the Oops, try toreload the same modules in the same order before running ksymoops.  Ifyou specify \fB-l\fR, you should only specify it once..TP\fB-L\fR\ \fB--no-lsmod\fRDo not read any list of loaded modules..PDefault is \fB-l\ \fI/proc/modules\fR..TP\fB-o\ \fIobject\fR\ \fB--object=\fIobject\fRWhere to find the objects for modules used by the failing kernel.  Thiscan be a directory name or an individual file.  If it is a directorythen ksymoops does a recursive find(1) in that directory for all filesmatching '*.o'.  \fB-o\fR can be specified more than once, the list iscumulative and can contain a mixture of directories and files.\fBNote:\fR When you specify a directory, ksymoops only uses files thatend in '.o'.  Any modules with non-standard names are ignored unlessyou specify those files explicitly.  For example, if vmnet and vmmonmodules do not end in '.o', you need something like this to pick up allthe normal modules plus the non-standard names..nf  \fB-o\ \fI/lib/modules/*r/\fB\ \\\fR  \fB-o\ \fI/lib/modules/*r/misc/vmnet\fB\ \\\fR  \fB-o\ \fI/lib/modules/*r/misc/vmmon\fR.fiIf you are using a version of insmod(8) that stores the module filenamein /proc/ksyms, ksymoops can go directly to that file, it does not need\fB-o\fR.  The \fB-o\fR option is only used when ksyms contains atleast one module whose filename is not explicitly listed in ksyms..TP\fB-O\fR\ \fB--no-object\fRDo not scan for any objects.  If /proc/ksyms is supplied and insmodadded the ksymoops assistance symbols (starting with __insmod) thenthose symbols are used to access the objects, no directory scanning isdone so neither -o nor -O have any effect.  To completely disable theuse of module objects when ksyms contains __insmod symbols, specify -O\fBand\fR one of -i or -I..PDefault is \fB-o\ \fI/lib/modules/*r/\fR.  For example, ifuname\ -r reports 2.2.7, ksymoops uses\fB-o\ \fI/lib/modules/2.2.7/\fR, but only if it does not already knowwhere the objects are..TP\fB-m\ \fIsystem.map\fR\ \fB--system-map=\fIsystem.map\fRWhere to find the System.map corresponding to the failing kernel..TP\fB-M\fR\ \fB--no-system-map\fRDo not read any System.map..PDefault is \fB-m\ \fI/usr/src/linux/System.map\fR..TP\fB-s\ \fIsave.map\fR\ \fB--save-map=\fIsave.map\fRAfter ksymoops reads all its sources of symbols, it generates aninternal system map which contains everything from System.map plus abest attempt to extract all symbols from all the loaded modules.  Ifyou want to see that consolidated map, specify \fB-s\ \fIsave.map\fR towrite it out to \fIsave.map\fR.  You do not need to save the map fornormal bug reporting..PDefault is no saved map..TP\fB-S\fR\ \fB--short-lines\fRSome of the ksymoops output lines can be quite long, especially in thecode disassembly, but if you have a wide screen the ksymoops output iseasier to read as long lines.  The \fB-S\fR toggle switches betweenshort and long lines.  Note that lines printed by the kernel andextracted from the Oops.file are not affected by \fB-S\fR, problem textis printed as is..PDefault is short lines..TP\fB-e\fR\ \fB--endian-swap\fRksymoops extracts code bytes from the reports and converts them toinstructions.  All kernels print code bytes in hex but unfortunatelysome systems print multiple bytes using the native machine endianess.This only causes a problem if the code is printed in anything otherthan 1 byte chunks.  For example, i386 prints one byte at a time whichis machine portable, alpha prints 4 bytes at a time in native endianessand the report is not machine portable.If you are doing cross system Oops diagnosis (say for a new system oran embedded version of Linux), then the failing system and thereporting system can have different endianess.  On systems that supportlittle and big endianess at the same time, ksymoops could be compiledwith one endianess but the kernel dump could be using another.  If yourcode disassembly is wrong, specify \fB-e\fR.  The \fB-e\fR togglesbetween native and reverse endianess when reading the bytes in eachchunk of code.  In this context, a chunk of code is 4 or 8 hex digits(2 or 4 bytes of code), \fB-e\fR has no effect on code that is printedas 2 hex digits (one byte at a time)..ne 4\fBNote:\fR Earlier versions of ksymoops used a\fB-c\ \fIcode_bytes\fR option.  That is now obsolete, use \fB-e\fRinstead, but only when the code disassembly is incorrect..PThe default is to read code bytes using the endianess that ksymoops wascompiled with..TP\fB-x\fR\ \fB--hex\fRNormally, ksymoops prints offsets and lengths in hex.  If you wantoffsets and lengths to be printed in decimal, use the \fB-x\fR toggle..PDefault is hex..TP\fB-1\fR\ \fB--one-shot\fR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -