调试 Power BI 自定义视觉对象

  • 版本 :2023.1(当前版本)

调试 Power BI 自定义视觉对象

本文介绍了在开发视觉对象时可以使用的一些基本调试过程。 阅读本文后,应该能够使用以下方法来调试视觉对象:

  • 插入断点

  • 捕获异常

  • 记录异常

插入断点

由于每次更新视觉对象时都会重载视觉对象的整个 JavaScript,因此在调试视觉对象刷新后,添加的任何断点都会丢失。 解决方法是,在代码中使用 debugger 语句。 建议在代码中使用 debugger 时禁用自动重载。 下面是一个如何在更新方法中使用 debugger 语句的示例。

TypeScript复制

public update(options: VisualUpdateOptions) {    console.log('Visual update', options);
debugger; this.target.innerHTML = `Update count: ${(this.updateCount/em>p>`;
}

捕获异常

处理视觉对象时,可看到 Power BI 服务“使用”所有错误。 这是 Power BI 有意为之的一种功能。 以防运行不正常的视觉对象导致整个应用变得不稳定。

解决方法是,添加代码来捕获和记录异常,或将调试器设置为在捕获到异常时中断。

使用修饰器记录异常

若要在 Power BI 视觉对象中记录异常,需要定义异常日志记录修饰器。 为此,请将以下代码添加到你的视觉对象:

TypeScript复制

export function logExceptions(): MethodDecorator {    return function (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptorany>): TypedPropertyDescriptorany> {        return {
value: function () { try { return descriptor.value.apply(this, arguments);
} catch (e) { console.error(e); throw e;
}
}
}
}
}

可以对任何函数使用此修饰器,从而查看错误日志记录,如下所示。

TypeScript复制

@logExceptions()public update(options: VisualUpdateOptions) {

在捕获到异常时中断

还可以将浏览器设置为,在捕获到异常时中断。 每当错误发生时,中断都会停止执行代码,你可以从中断处进行调试。

  • Microsoft Edge

  • Chrome

  1. 打开开发人员工具 (F12)。

  2. 转到“源”选项卡。

  3. 选择“在捕获到异常时暂停”图标(带有暂停符号的停止标志)。

  4. 选择“在捕获到异常时暂停”。

    展示“调试器”选项卡的屏幕截图,其中的“在捕获到任意异常时中断”处于选中状态。