1. Debug全流程实战指南:从基础操作到高阶排查
刚入行时我最怕看到控制台飘红,现在反而觉得debug过程像侦探破案一样有趣。上周帮实习生解决一个诡异的空指针异常,从日志埋点到内存分析整整花了3天,最终发现是第三方库的线程池配置问题。这种"捉虫"经历让我意识到,系统化的debug方法论比盲目试错效率高十倍。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Debug核心工具链配置
2.1 IDE调试环境搭建
以IntelliJ IDEA为例,远程调试Tomcat需要三个关键配置:
- 在catalina.sh添加JVM参数:
bash复制export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
- IDEA创建Remote JVM Debug配置,端口与上述一致
- 启动Tomcat后点击IDEA调试按钮
常见坑点:防火墙需开放5005端口,云服务器要配置安全组规则。曾遇到阿里云ECS默认屏蔽所有非HTTP端口导致连接超时。
2.2 嵌入式开发调试方案
Keil MDK调试STM32时,如果Debug Viewer无输出:
- 检查Target Options → Debug → Use Simulator是否误选
- 确认SWD/JTAG接口连接正常(用万用表量VCC电压)
- 在Debug → Serial Wire Viewer中启用ITM端口0
- 添加以下代码初始化ITM通道:
c复制#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n)))
void ITM_SendChar(char c) {
if (DEMCR & TRCENA) {
while (ITM_Port8(0) == 0);
ITM_Port8(0) = c;
}
}
2.3 Python调试异常处理
PyCharm出现"Connection to python debugger failed"时:
- 检查Python解释器路径是否含中文或空格
- 重置调试器配置:File → I
