2、调试工具实用技巧与高级功能解析

调试工具实用技巧与高级功能解析

1. 跟踪点与挂起状态

1.1 跟踪点概述

跟踪点(Tracepoint),也称为日志点(Logpoint)或日志消息,是一种可以使用调试器动态添加的日志。它是一种不会停止当前执行的断点,能够打印变量、方法等的值。与基于打印或日志的调试方法相比,跟踪点具有两大优势:
- 无需在提交代码前手动移除,避免了因忘记移除调试日志而引入生产环境的风险。
- 无需重新编译或停止执行即可添加日志,提高了调试效率。

1.2 不同IDE中的跟踪点使用

1.2.1 VS Code

在VS Code中,日志消息支持代码表达式,而非简单的字符串。这使得我们可以编写调用方法或列出变量的表达式,这些日志消息将显示在“调试控制台”视图中。

1.2.2 IntelliJ/IDEA

在IntelliJ/IDEA中,创建跟踪点时需要勾选“评估并记录”选项,并在其中输入表达式。此外,还可以创建条件跟踪点,即只有满足特定条件时才会显示日志,这有助于减少潜在的嘈杂日志。在高级对话框中,还有一些有趣的功能:
- 打印堆栈跟踪:在命中断点时打印堆栈跟踪,有助于将消息定位到打印它的代码的特定区域。
- 挂起选项:
- 典型的断点在命中时会挂起所有线程,而跟踪点则完全禁用这种行为,防止挂起。
- IntelliJ/IDEA还提供了仅挂起当前线程的选项,这对于多线程应用程序非常有用,因为在调试时可能需要后台线程继续运行。

下面是一个简单的mermaid流程图,展示在IntelliJ/IDEA中创建条件跟踪点的流程:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值