在 Debian(或其他 Linux)环境下,“调试”通常指系统、服务、应用或内核问题排查。下面按常见场景给你一份实用调试手册。
journalctl -b # 本次启动日志
journalctl -b -1 # 上一次启动
journalctl -p err # 只看错误
elinux 行末尾加:init=/bin/bash
或
systemd.unit=rescue.target
systemctl status nginx
journalctl -u nginx
/usr/sbin/nginx -g 'daemon off;'
systemctl show nginx | grep Environment
strace -f ./program
ltrace ./program
apt install gdb
gdb ./program
(gdb) run
(gdb) bt
ulimit -c unlimited
echo "/tmp/core.%e.%p" > /proc/sys/kernel/core_pattern
gdb ./program /tmp/core.xxx
ip addr
ip route
ss -tulnp
tcpdump -i eth0 port 80
curl -v http://localhost
/var/log/syslog
/var/log/messages
/var/log/dpkg.log
tail -f /var/log/syslog
dmesg
dmesg | tail
modprobe -v xxx
lsmod
docker logs container_id
docker exec -it container_id bash
journalctl -u xxx
strace -f -p $(pidof xxx)
tcpdump -ni any port xxx
如果你能告诉我:
我可以直接给你针对性的调试步骤。