VS Code 错误遥测修复指南
从错误遥测追溯无效数据源头,修复未处理错误而不是掩盖崩溃。
技能明确要求追踪数据流、避免静默吞错,并要求截断用户控制值,降低隐蔽外泄风险;但未规定用户确认、回滚方案、最小权限、敏感数据脱敏或遥测数据流边界,因此扣分。
步骤逻辑一致,区分生产者未知与可识别场景,并要求测试和编译检查;但没有针对该技能的可执行测试、异常输入覆盖或可复现失败证据。按静态校准不超过10分。
触发条件、适用问题类型和不应在崩溃点修复的边界较清楚,覆盖IPC、存储、扩展API等来源;但未明确非适用范围、输入输出契约、中文使用支持或中国大陆网络环境适配,因此扣分。
文档有名称、描述、分层步骤、正反例和限制性提示,仓库提供MIT许可证及Microsoft归属;但技能自身没有版本、变更记录、维护责任、更新路径、安装说明或FAQ,扣分。
针对遥测未处理错误提供了可直接采用的调查和修复策略,示例具有实用性;但未提供该技能产出的标准格式、代表性结果或静态可验证的实际修复结果,按静态校准不超过7分。
规则、代码示例和仓库测试/CI材料可供审计,但所给CI主要不是该技能关键路径的测试,且没有针对技能指南的独立复现或第三方执行证据,因此仅给有限分数。
- 将截断后的错误值写入遥测仍可能暴露个人数据、令牌或工作区内容;应在截断前进行敏感信息脱敏,并明确允许记录的字段。
- 技能要求运行测试和构建检查,但未指定与错误类型对应的测试选择、失败处理或回滚步骤;执行者仍需自行补齐验证计划。
- 遥测仪表板、仓库和开发服务可能依赖境外网络;文档未说明离线或中国大陆网络受限时的替代流程。
它能做什么 & 适用场景
此技能用于调查 Visual Studio Code 错误遥测面板中的未处理错误。它指导你结合错误消息、堆栈跟踪、命中数和受影响用户数,沿调用栈追踪无效数据的产生位置。技能强调先阅读错误构造代码,再决定是修复生产者、丰富遥测上下文,还是判断错误是否属于按设计触发的阈值警告。它还要求避免静默吞错,并在完成修改后运行相关测试和构建检查。
读取错误遥测问题中的错误消息、堆栈跟踪、命中数和用户数;从堆栈底部向顶部分析每一帧的数据来源、预期类型及可能的损坏位置;在代码库中搜索错误类名或错误消息片段,阅读错误构造代码及其参数含义;当生产者未知时,指导在消费端和底层校验函数中加入截断后的类型和值等诊断信息,同时继续抛出错误;当生产者明确时,指导在发送、存储或 API 调用前校验或清理数据;最后要求运行相关单元测试并通过构建任务检查编译错误。
- 维护 VS Code 错误遥测的工程师需要根据堆栈跟踪定位跨进程传递的无效数据。
- 调试 IPC、扩展 API、存储或用户输入导致的数据类型损坏问题的开发者。
- 无法仅凭消费端堆栈识别生产者,需要通过下一轮遥测补充发送方线索的调查者。
- 处理 URI 等可序列化对象类型错误,必须确认序列化和反序列化不会把对象变成字符串的开发者。
- 调查监听器泄漏等带有分类和阈值的错误,并需要先理解错误构造逻辑的维护者。
优缺点一览
- 明确要求追踪无效数据生产者,而不是在崩溃点添加防御性判断来掩盖问题。
- 要求先阅读错误构造代码,有助于区分不同错误类别、阈值和可行动性。
- 提供生产者未知时的遥测增强策略,并要求保留抛错行为。
- 覆盖数据校验、序列化、测试和编译检查等修复后的验证环节。
- 这是调查和修复指南,不是提供自动修复脚本或独立命令行工具。
- 源资料没有说明独立安装流程、特定客户端触发命令或完整测试命令。
- 它主要针对 VS Code 错误遥测和相关代码路径,不适合作为通用应用错误处理框架。
- 需要能够读取和修改代码库,并运行相关测试和构建任务;源资料未列出具体运行环境或平台覆盖范围。
如何安装
该仓库包含 61 个技能,但本资料只涉及 .github/skills/fix-errors/SKILL.md。源资料没有提供此技能的独立安装命令;将仓库中的该技能目录保留在兼容 Agent Skills 的客户端可读取的位置即可。仓库整体采用 MIT 许可证。
如何使用
在已能访问 VS Code 源码、错误问题和遥测信息的 Agent Skills 客户端中调用此技能。例如:请调查这个错误遥测问题:错误消息为……,堆栈跟踪为……,命中数为……,受影响用户数为……。请先查找错误构造代码,再沿调用栈定位无效数据生产者。 按指南检查数据来源,必要时添加截断的诊断上下文,修复生产者,并运行相关单元测试和构建检查。源资料没有规定特定客户端命令或触发语法。