Lines Matching full:you
12 debugger front ends and dynamically transition between them if you
15 Kdb is simplistic shell-style interface which you can use on a system
16 console with a keyboard or serial console. You can use it to inspect
19 you can set breakpoints and execute some basic kernel run control. Kdb
21 diagnosing kernel problems. You can access some symbols by name in
46 - In order to enable compilation of kdb, you must first enable kgdb.
54 To enable ``CONFIG_KGDB`` you should look under
58 While it is not a hard requirement that you have symbols in your vmlinux
59 file, gdb tends not to be very useful without the symbolic data, so you
63 It is advised, but not required, that you turn on the
70 If the architecture that you are using supports the kernel option
71 ``CONFIG_STRICT_KERNEL_RWX``, you should consider turning it off. This
74 supports it for the architecture you are using, you can use hardware
75 breakpoints if you desire to run with the ``CONFIG_STRICT_KERNEL_RWX``
76 option turned on, else you need to turn off this option.
78 Next you should choose one of more I/O drivers to interconnect debugging
82 kernel or module parameters which you can learn more about in the in the
98 printing out interesting data such as what you would see if you ran
99 ``lsmod``, or ``ps``. In order to build kdb into the kernel you follow the
100 same steps as you would for kgdb.
104 In theory you would have already also selected an I/O driver such as the
105 ``CONFIG_KGDB_SERIAL_CONSOLE`` interface if you plan on using kdb on a
106 serial port, when you were configuring kgdb.
108 If you want to use a PS/2-style keyboard with kdb, you would select
136 to communicate from gdb to kgdb as well as the devices you want to use
140 is intended to cover the circumstance where you want to use a serial
144 built-in or a kernel loadable module. You can only make use of
145 ``kgdbwait`` and early debugging if you build kgdboc into the kernel as
148 Optionally you can elect to activate kms (Kernel Mode Setting)
149 integration. When you use kms with kgdboc and you have a video driver
163 The order listed above must be observed if you use any of the optional
172 You can configure kgdboc to use the keyboard, and/or a serial device
173 depending on if you are using kdb and/or kgdb, in one of the following
174 scenarios. The order listed above must be observed if you use any of the
193 Here are two examples of how you might format the kgdboc string. The
204 At run time you can enable or disable kgdboc by echoing a parameters
217 You do not need to specify the baud if you are configuring the
223 You can configure kgdboc to use the keyboard, and/or a serial device
224 depending on if you are using kdb and/or kgdb, in one of the following
258 protocol. You must manually send a :kbd:`SysRq-G` unless you have a proxy
262 for you.
264 When using kgdboc with no debugger proxy, you can end up connecting the
265 debugger at one of two entry points. If an exception occurs after you
267 waiting for the debugger. In this case you disconnect your terminal
268 program and then connect the debugger in its place. If you want to
269 interrupt the target system and forcibly enter a debug session you have
270 to issue a :kbd:`Sysrq` sequence and then type the letter :kbd:`g`. Then you
271 disconnect the terminal session and connect gdb. Your options if you
272 don't like this are to hack gdb to send the :kbd:`SysRq-G` for you as well as
279 If you specify the kernel parameter ``kgdboc_earlycon`` and your serial
287 sufficient to make this work. If you have more than one boot console you
292 For instance, on one board to be explicit you might do::
296 If the only boot console on the device was "qcom_geni", you could simplify::
304 debugger connection during booting of a kernel. You can only use this
305 option if you compiled a kgdb I/O driver into the kernel and you
312 architecture allows when you use this option. If you build the kgdb I/O
318 The ``kgdbcon`` feature allows you to see printk() messages inside gdb
336 If you do this after you configure the kgdb I/O driver, the
342 You cannot use kgdboc + kgdbcon on a tty that is an
353 The kgdbreboot feature allows you to change how the debugger deals with
354 the reboot notification. You have 3 choices for the behavior. The
377 If the architecture that you are using enable KASLR by default,
378 you should consider turning it off. KASLR randomizes the
397 Configure kgdboc after the kernel has booted; assuming you are using
403 fault. There are several ways you can enter the kernel debugger
404 manually; all involve using the :kbd:`SysRq-G`, which means you must have
407 - When logged in as root or with a super user session you can run::
415 - When you have telneted to a terminal server that supports sending
424 3. From the kdb prompt you can run the ``help`` command to see a complete
439 4. When you are done using kdb you need to consider rebooting the system
440 or using the ``go`` command to resuming normal kernel execution. If you
443 time could be adversely affected, so you should take this into
462 fault. There are several ways you can enter the kernel debugger
463 manually; all involve using the :kbd:`SysRq-G`, which means you must have
466 - When logged in as root or with a super user session you can run::
500 In order to use kgdb you must activate it by passing configuration
501 information to one of the kgdb I/O drivers. If you do not pass any
504 loaded and configured. If you unconfigure a kgdb I/O driver, kgdb will
510 can be unconfigured by passing an empty string. You cannot change the
538 - When logged in as root or with a super user session you can run::
546 - When you have telneted to a terminal server that supports sending
570 Once connected, you can debug a kernel the way you would debug an
573 If you are having problems connecting or something is going seriously
574 wrong while debugging, it will most often be the case that you want
575 to enable gdb to be verbose about its target communications. You do
580 Remember if you continue in gdb, and need to "break in" again, you need
582 putting a breakpoint at ``sys_sync`` and then you can run ``sync`` from a
589 core will remember which you used the last time and automatically start
598 There are two ways to switch from kgdb to kdb: you can use gdb to issue
599 a maintenance packet, or you can blindly type the command ``$3#33``.
601 message ``KGDB or $3#33 for KDB``. It is important to note that you have
602 to type the sequence correctly in one pass. You cannot type a backspace
615 Now you must kill gdb. Typically you press :kbd:`CTRL-Z` and issue
623 There are two ways you can change from kdb to kgdb. You can manually
625 or you can connect gdb while the kdb shell prompt is active. The kdb
643 gdb monitor command. You don't want to execute any of the run control or
645 debugger. You should be using gdb for breakpoints and run control
646 operations if you have gdb connected. The more useful commands to run
648 information commands. To see all the kdb commands you can run
667 When kgdb is enabled in the kernel config you can also elect to enable
765 you can build the kdb_hello.ko kernel module from
766 ``samples/kdb/kdb_hello.c``. To build this example you can set
768 config. Later run ``modprobe kdb_hello`` and the next time you
769 enter the kdb shell, you can run the ``hello`` command.
800 If you are intent on adding kgdb architecture specific support for a new
803 architecture, and at that point you must create an architecture specific
863 debugger detaches. You need to be very careful with any kind of lock you
884 switch to a text context when you are using ``kgdboc=kms,kbd``, provided
885 that you have a video driver which has a frame buffer console and atomic