Depuración de objetos visuales personalizados de Power BI
En este artículo se describen algunos procedimientos básicos de depuración que puede usar al desarrollar el objeto visual. Después de leer este artículo, debería poder usar los métodos siguientes para depurar el objeto visual:
Inserción de puntos de interrupción
El código JavaScript del objeto visual se recarga por completo cada vez que este se actualiza. Por lo tanto, los puntos de interrupción que se agreguen se perderán cuando se actualice el objeto visual de depuración. Como solución alternativa, use las instrucciones debugger
en el código. Se recomienda desactivar la recarga automática mientras se usa debugger
en el código.
Este es un ejemplo de cómo usar una instrucción debugger
en el método update.
public update(options: VisualUpdateOptions) {
console.log('Visual update', options);
debugger;
this.target.innerHTML = `<p>Update count: <em>${(this.updateCount</em></p>`;
}
Detección de excepciones
Al trabajar en el objeto visual, observará que el servicio Power BI "consume" los errores. Se trata de una característica intencional de Power BI. Evita que el comportamiento erróneo de los objetos visuales provoque que toda la aplicación se vuelva inestable.
Como solución alternativa, agregue código para detectar y registrar las excepciones, o bien establezca el depurador para que se interrumpa en las excepciones detectadas.
Registro de excepciones con un elemento decorator
Para registrar excepciones en el objeto visual de Power BI, es necesario definir un elemento decorator del registro de excepciones. Para ello, agregue el código siguiente al objeto visual:
export function logExceptions(): MethodDecorator {
return function (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor<any>): TypedPropertyDescriptor<any> {
return {
value: function () {
try {
return descriptor.value.apply(this, arguments);
} catch (e) {
console.error(e);
throw e;
}
}
}
}
}
Puede usar este elemento decorator en cualquier función para ver el registro de errores, de la forma siguiente.
@logExceptions()
public update(options: VisualUpdateOptions) {
Interrupción en excepciones
También puede establecer que el explorador se interrumpa en las excepciones detectadas. Breaking detiene la ejecución del código siempre que se produzca un error y le permite depurar desde allí.
Abra las herramientas de desarrollo (F12).
Vaya a la pestaña Orígenes.
Seleccione el icono de Pause on exceptions (Pausar en excepciones) (signo de parada con un símbolo de pausa).
Seleccione Pause on caught exceptions (Pausar en excepciones detectadas).
Contenido relacionado
- Solución de problemas con los objetos visuales de Power BI
- Preguntas más frecuentes sobre objetos visuales de Power BI
¿Tiene más preguntas? Pruebe la comunidad de Power BI