用途:为 Bun 运行时下的 TypeScript/JavaScript 项目提供现代调试方法,包括断点调试、内存泄漏排查、性能剖析与网络请求追踪。
主要能力:
- Inspector 调试:bun --inspect script.ts 启用调试器,可指定端口或 host:port;bun --inspect-brk 在首行断点,bun --inspect-wait 等待调试器接入;也可调试测试,如 bun --inspect-brk test。
- 网页调试器:启动后输出 ws://localhost:6499/ 与 debug.bun.sh 地址,支持源码视图、断点、控制台、调用栈、作用域与监视表达式,以及继续、单步等执行控制。
- VSCode 集成:安装 Bun for Visual Studio Code 扩展,在 launch.json 中配置 type 为 bun 的 launch/attach 配置,支持 program、cwd、args、env、stopOnEntry、watchMode 等选项。
- 内存调试:用 v8 的 writeHeapSnapshot() 生成 .heapsnapshot 文件,在 Chrome DevTools Memory 面板对比分析;用 bun:jsc 的 heapStats() 查看堆大小与对象类型计数;用 process.memoryUsage() 与 rss() 查看进程内存;MIMALLOC_SHOW_STATS=1 显示原生内存统计。
- 性能与网络:bun --cpu-prof 生成 .cpuprofile 供 Chrome DevTools 分析;BUN_CONFIG_VERBOSE_FETCH=1 或 curl 记录 fetch/http 请求。
- 源码映射:Bun 自动为转译文件生成 sourcemap,也可用 bun build --sourcemap=external|inline|none 控制。
使用方式:按场景选择命令或配置,内存泄漏排查流程为建立基线快照、复现操作、对比快照、定位增长对象、用 retainers 视图追踪引用。
适用场景:本地断点调试、测试调试、内存泄漏与性能问题定位、网络请求排查。
限制:生产错误监控应使用 typescript-sentry,运行测试查找失败应使用 bun-development;Windows 上 Bun 的 Unix socket 调试可能不可用,建议使用 WSL 或网页调试器。资料未提供收费、价格与平台支持等更多信息。