The debug command displays information about the Cisco device operations, generated or received traffic, and any error messages. The information are provided in real-time until the user disables debugging or the device is restarted.
The debug operation takes a lot of CPU resources and should not be used often in production environments. It is meant to be used as a troubleshooting tool for only a short period of time. You can choose to debug only specific events – for example, EIGRP information, received ICMP messages, etc.
Consider the following example:
R1#debug ip icmp ICMP packet debugging is on R1# R1# ICMP: echo reply sent, src 10.0.0.2, dst 10.0.0.1 ICMP: echo reply sent, src 10.0.0.2, dst 10.0.0.1
In the example above you can see that I’ve enabled debugging only for the ICMP events (such as pings). In the output you can see that R1 has responded to the device with the IP address of 10.0.0.1 with two ping reply packets.
To disable debugging of the ICMP events, simply re-enter the command with the no keyword in front of it:
R1#no debug ip icmp ICMP packet debugging is off
To debug only RIP messages, we would run the following command:
R1#debug ip rip RIP protocol debugging is on R1# R1#RIP: received v2 update from 10.0.0.1 on GigabitEthernet0/0 172.16.0.0/16 via 0.0.0.0 in 2 hops 192.168.5.0/24 via 0.0.0.0 in 1 hops RIP: received v2 update from 10.0.0.1 on GigabitEthernet0/0 172.16.0.0/16 via 0.0.0.0 in 16 hops 192.168.5.0/24 via 0.0.0.0 in 16 hops
You can enable debugging of everything happening on your device by issuing the debug all command (do not use this command on production devices, since it can produce a lot of output and crash the device!):
To disable this command, type the undebug all command (or the un all shortcut).