Lines Matching +full:in +full:- +full:line
9 debug-print code to obtain additional kernel information.
16 * a Catalog of all *prdbgs* in your kernel.
22 - source filename
23 - function name
24 - line number (including ranges of line numbers)
25 - module name
26 - format string
27 - class name (as known/declared by each module)
29 NOTE: To actually get the debug-print output on the console, you may
31 Read about these kernel parameters in
32 Documentation/admin-guide/kernel-parameters.rst.
37 You can view the currently configured behaviour in the *prdbg* catalog::
39 :#> head -n7 /proc/dynamic_debug/control
48 The 3rd space-delimited column shows the current flags, preceded by
60 :#> ddcmd '-p; module main func run* +p'
75 also under the mount-dir, typically ``/sys/kernel/debug/``.
83 :#> ddcmd file svcsock.c line 1603 +p
84 :#> ddcmd "file svcsock.c line 1603 +p"
85 :#> ddcmd ' file svcsock.c line 1603 +p '
95 :#> cat query-batch-file > /proc/dynamic_debug/control
97 You can also use wildcards in each query term. The match rule supports
106 command ::= match-spec* flags-spec
108 The match-spec's select *prdbgs* from the catalog, upon which to apply
109 the flags-spec, all constraints are ANDed together. An absent keyword
117 match-spec ::= 'func' string |
122 'line' line-range
124 line-range ::= lineno |
125 '-'lineno |
126 lineno'-' |
127 lineno'-'lineno
129 lineno ::= unsigned-int
133 ``line-range`` cannot contain space, e.g.
134 "1-30" is valid range but "1 - 30" is not.
144 func *recv* # in rfcomm, bluetooth, ping, tcp
147 The given string is compared against either the src-root relative
155 file inode.c:1-100 # parse :tail as a line-range (above)
160 seen in ``lsmod``, i.e. without the directory or the ``.ko``
161 suffix and with ``-`` changed to ``_``. Examples::
168 The given string is searched for in the dynamic debug format
173 Alternatively, the string can be enclosed in double quote
178 format readahead // some pr_debugs in the readahead cache
190 class JUNK # silent non-match
191 // class TLD_* # NOTICE: no wildcard in class names
193 line
194 The given line number or range of line numbers is compared
195 against the line number of each ``pr_debug()`` callsite. A single
196 line number matches the callsite line number exactly. A
197 range of line numbers matches any callsite between the first
198 and last line number inclusive. An empty first number means
199 the first line in the file, an empty last line number means the
200 last line number in the file. Examples::
202 line 1603 // exactly line 1603
203 line 1600-1605 // the six lines from line 1600 to line 1605
204 line -1605 // the 1605 lines from line 1 to line 1605
205 line 1600- // all lines from line 1600 to the end of the file
211 - remove the given flags
220 Decorator flags add to the message-prefix, in order:
225 l Include line number
230 Note the regexp ``^[-+=][fslmpt_]+$`` matches a flags specification.
231 To clear all flags at once, use ``=_`` or ``-fslmpt``.
237 To activate debug messages for core code and built-in modules during
245 messages in all code run after this early_initcall via this boot
257 If ``foo`` module is not built-in, ``foo.dyndbg`` will still be processed at
267 params given in modprobe args or ``/etc/modprobe.d/*.conf`` files,
268 in the following order:
275 2. ``foo.dyndbg`` as given in boot args, ``foo.`` is stripped and passed::
283 These ``dyndbg`` queries are applied in order, with last having final say.
288 In the ``foo.dyndbg="QUERY"`` form, the query must exclude ``module foo``.
289 ``foo`` is extracted from the param-name, and applied to each query in
290 ``QUERY``, and only 1 match-spec of each type is allowed.
294 - modules do not need to define it explicitly
295 - every module gets it tacitly, whether they use pr_debug or not
296 - it doesn't appear in ``/sys/module/$module/parameters/``
299 For ``CONFIG_DYNAMIC_DEBUG`` kernels, any settings given at boot-time (or
300 enabled by ``-DDEBUG`` flag during compilation) can be disabled later via
303 echo "module module_name -p" > /proc/dynamic_debug/control
310 // enable the message at line 1603 of file svcsock.c
311 :#> ddcmd 'file svcsock.c line 1603 +p'
313 // enable all the messages in file svcsock.c
316 // enable all the messages in the NFS server module
319 // enable all 12 messages in the function svc_process()
322 // disable all 12 messages in the function svc_process()
323 :#> ddcmd 'func svc_process -p'
328 // enable messages in files of which the paths include string "usb"
337 // boot-args example, with newlines and comments for readability
338 Kernel command line: ...
339 // see what's going on in dyndbg=value processing
341 // enable pr_debugs in the btrfs module (can be builtin or loadable)
343 // enable pr_debugs in all files under init/
346 // enable pr_debugs in 2 functions in a module loaded later
357 If you do not want to enable dynamic debug globally (i.e. in some embedded
359 debug and add ``ccflags := -DDYNAMIC_DEBUG_MODULE`` into the Makefile of any
374 Otherwise, they are off by default; ``ccflags += -DDEBUG`` or
375 ``#define DEBUG`` in a source file will enable them appropriately.
382 in case ``prefix_str`` is built dynamically.