As a convenience klogd will attempt to resolve kernel numeric addresses to their symbolic forms if a kernel symbol table is available at execution time. A symbol table may be specified by using the -k switch on the command line. This version information is used to direct an intelligent search of the list of symbol tables. This feature is useful since it provides support for both production and experimental kernels. Modern kernels as of 1.3.43 properly format important kernel addresses so that they will be recognized and translated by klogd.
Earlier kernels require a source code patch be applied to the kernel sources.
This patch is supplied with the sysklogd sources. The process of analyzing kernel protections faults works very well with a static kernel. Additional difficulties are encountered when attempting to diagnose errors which occur in loadable kernel modules. Loadable kernel modules are used to implement kernel functionality in a form which can be loaded or unloaded at will. The use of loadable modules is useful from a debugging standpoint and can also be useful in decreasing the amount of memory required by a kernel.