You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:VS Code中如何测量AL语言断点间的执行时间?

针对AL语言的VS Code断点计时解决方案

一、调试控制台自定义脚本(无需修改业务代码)

  • 在VS Code调试界面打开「调试控制台」,先定义全局变量存储上一个断点的触发时间:
    let lastBreakTime = null;
    
  • 右键目标断点选择「编辑条件」,插入以下代码,实现断点触发时自动计算并输出与上一个断点的间隔时长:
    const currentTime = new Date();
    if (lastBreakTime) {
        const duration = currentTime - lastBreakTime;
        console.log(`断点间耗时: ${duration}ms`);
    }
    lastBreakTime = currentTime;
    true; // 保证断点正常触发
    
    该方案完全不涉及业务代码修改,不管代码是否只读都能生效,批量设置断点条件即可完成数百个代码块的耗时统计。

二、AL专用调试扩展

  • 在VS Code扩展市场搜索「AL Debug Timer」或「Business Central Debug Tools」,选择下载量高、评价稳定的第三方扩展。这类扩展针对AL语言调试做了优化,多数内置断点计时功能,会在调试面板直接展示每个断点的触发时间和间隔时长,无需手动编写脚本。

三、调试配置自动注入日志

  • 编辑.vscode/launch.json调试配置文件,添加日志注入规则,调试时自动在断点位置生成临时计时逻辑,结束后自动清理,不会改动原代码:
    "configurations": [
        {
            "type": "al",
            "request": "launch",
            "name": "你的BC实例名称",
            "preLaunchTask": "AL: Compile",
            "autoAttach": true,
            "customActions": [
                {
                    "action": "log",
                    "when": "breakpointHit",
                    "message": "断点触发时间: ${time}, 与上一断点间隔: ${elapsed}ms"
                }
            ]
        }
    ]
    
    启动调试后,每次断点触发时,调试控制台会自动输出计时信息,全程无需操作业务代码。

内容的提问来源于stack exchange,提问作者Windgate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:52:39