覆盖 本地 IDE 调试、命令行调试、日志 / 链路追踪、内存 & 性能调试、线上诊断、容器云原生调试,按语言和场景划分,都是工程里高频在用的。
一、IDE 内置调试器(日常开发首选,最常用)
优点:断点、单步、查看变量、watch、条件断点、表达式求值一站式,开箱即用
IDEA Debugger(Java/Kotlin/Scala) SpringBoot、Maven/Gradle 项目标配,支持远程调试、热加载断点、线程调试、条件断点、异常断点。
VS Code Debugger(全语言通用) 靠插件:Python、Go、C/C++、Java、Node.js、Rust。配置
launch.json,支持本地 / 远程 attach 调试。PyCharm Debugger(Python) Python 开发首选,支持多进程、gevent 协程调试,断点调试 jupyter。
CLion(C/C++/Rust):基于 GDB/Lldb 封装
Visual Studio(C#/C++):.NET 生态最强调试器
二、原生命令行调试器(底层、服务器无 GUI 场景)
gdb:Linux 下 C/C++ 调试神器,断点、查看栈、core 文件分析、attach 正在运行进程
lldb:macOS、FreeBSD,替代 gdb,语法更清爽,Apple 平台标配
pdb(Python 内置)
import pdb; pdb.set_trace()不用装额外包,简单脚本快速调试;进阶:
ipdb(彩色增强版 pdb)node inspect / chrome devtools(NodeJS)
node --inspect app.js,Chrome 浏览器 devtools 连进去断点调试 JS/TSdlv(Delve,Go 语言):Go 官方推荐调试器,IDE 底层也是它

三、线上链路、日志、分布式调试(微服务重点)
适合跨服务调用,没法本地断点的场景
SkyWalking / Pinpoint / Jaeger:分布式链路追踪,看调用链、耗时、异常堆栈
ELK(Elasticsearch+Logstash+Kibana)、Loki+Grafana:集中日志检索,线上查报错栈
Sentry:异常捕获,自动上报堆栈、上下文、请求参数,前后端都能用,定位线上崩溃非常好用
Arthas(Java 线上诊断神器,强推) 阿里开源,不用改代码、不用重启进程:查看方法入参返回值、监控方法耗时、看类源码、线程栈、热更新,生产 Java 故障排查必备
常用命令:
watch、trace、stack、jadBtrace:Java 动态字节码追踪(轻量埋点,比 Arthas 门槛高一点)
四、内存、性能、CPU / 堆分析工具(排查泄漏、OOM、CPU 飙高)
Java
JDK 自带:
jstack(线程栈)、jmap(堆 dump)、jhat、jstatMAT(Eclipse Memory Analyzer):分析 heap dump,定位内存泄漏
JProfiler / YourKit:商业级性能剖析,CPU、内存、锁分析,可视化很强
C/C++
Valgrind(memcheck):检测内存越界、内存泄漏、野指针(慢,适合测试环境)
AddressSanitizer (ASAN):编译期开启,速度比 valgrind 快很多,现在主流
ThreadSanitizer (TSAN):专门查多线程数据竞争
Python
memory_profiler:逐行内存占用
py-spy:非侵入式 Python 采样剖析,不用停服务,看 CPU 热点
Go
pprof(内置):CPU、内存、goroutine 泄漏分析,配合 go tool pprof
五、容器 & 云原生调试(Docker/K8s 场景)
k9s + kubectl debug:k8s 里给 Pod 开临时调试容器、attach 进程
dlv + kubectl port-forward:远程调试容器内 Go 服务
ephemeral-container(临时调试容器):不用改镜像,直接在故障 Pod 里抓栈
distroless 环境调试工具:busybox、nsenter
otel(OpenTelemetry):统一可观测埋点,链路、指标、日志标准

六、网络调试辅助(很多 bug 根源是网络)
Wireshark:抓包
tcpdump:服务器命令行抓包
mitmproxy:中间人代理,调试 HTTP/HTTPS 接口
七、前端调试
Chrome DevTools:JS 断点、DOM、Network、Performance、Memory
React DevTools / Vue DevTools:框架专属调试插件
source-map:线上压缩代码还原堆栈
快速选型建议
日常本地开发:IDE 自带 Debugger(IDEA / VSCode)
Java 生产不重启排查:Arthas
Java OOM、内存泄漏:MAT + jmap
Python 脚本快速打断点:ipdb
Go 调试:dlv + pprof
C/C++ 内存问题:ASAN
分布式微服务异常:SkyWalking + Sentry + Loki
K8s 容器内排障:kubectl debug
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢