1. 功能概覽
Java Stream Debugger 提供 Trace Current Stream Chain 功能,用來在調試時分析和可視化 Stream
操作鏈。
主要用途:
- 在運行時查看流操作鏈的每一步輸出
- 找出
map/filter
等操作的問題 - 避免手動加
peek()
打印調試
2. 使用入口
在 IDEA 2025.1 中,按鈕默認不在主調試工具欄,而是被折疊在 調試窗口右上角的 ...
菜單里:
- 運行程序并進入斷點
- 打開 Debugger 窗口
- 在 Variables 面板 里選中一個
Stream
變量 - 點擊右上角
...
→ 選擇 Trace Current Stream Chain
即可看到流的鏈路和每一步的計算結果。
3. 常見問題與限制
- 僅支持源碼文件:調試目標必須是你項目中的源碼,不適用于 JDK 或三方庫里的流。
- 必須有 Stream 變量:只能在調試時、變量存在的上下文里使用。
- 需要斷點觸發:普通斷點要能停住,才能展開調試鏈。
- 不支持所有操作:部分并行流、特殊自定義 collector 可能無法完全可視化。
4. 提高效率的小技巧
4.1 把按鈕放到主工具欄
- 打開調試窗口
- 右鍵工具欄 → Customize Toolbar
- 在 Available Actions 搜索
Trace Current Stream Chain
- 拖到調試工具欄上
👉 以后就能一鍵點擊,不用再點...
了
4.2 設置快捷鍵
- 打開 Preferences → Keymap
- 搜索
Trace Current Stream Chain
- 給它綁定一個快捷鍵(比如
Ctrl+Shift+T
)
👉 下次調試直接快捷鍵觸發
4.3 配合斷點條件使用
你可以在流操作中的某一行加條件斷點,例如:
list.stream().map(x -> x * 2) // 在這里加條件斷點:x > 100.filter(x -> x % 3 == 0).forEach(System.out::println);
這樣進入斷點后直接追蹤 Stream 鏈,更快定位問題。
? 總結
- IDEA 2025.1 的 Stream Debugger 還在,只是藏到了
...
里。 - 建議把它拖到主工具欄 + 綁定快捷鍵,一次設置,后續高效調試。