Debug di oggetti visivi Power BI

Questo articolo descrive alcune procedure di debug di base che è possibile usare durante lo sviluppo dell'oggetto visivo. Dopo aver letto questo articolo, è consigliabile usare i metodi seguenti per eseguire il debug dell'oggetto visivo:

Uso dei punti di interruzione

L'intero JavaScript dell'oggetto visivo viene ricaricato ogni volta che l'oggetto visivo viene aggiornato, pertanto tutti i punti di interruzione aggiunti verranno persi quando l'oggetto visivo di debug viene aggiornato. Come soluzione alternativa, è possibile usare istruzioni debugger nel codice. Quando si usa debugger nel codice, è consigliabile disattivare il ricaricamento automatico. Ecco un esempio di come usare un'istruzione debugger nel metodo di aggiornamento .

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

Rilevare le eccezioni

Quando si lavora sull'oggetto visivo, si noterà che tutti gli errori vengono 'utilizzati' dal servizio Power BI. Si tratta di una funzionalità intenzionale di Power BI. Impedisce la mancata comportamento degli oggetti visivi che causano l'intera app di diventare instabile.

Come soluzione alternativa, aggiungere codice per rilevare e registrare le eccezioni oppure impostare il debugger in modo che interrompa le eccezioni rilevate.

Eccezioni di log con un decorator

Per registrare le eccezioni nell'oggetto visivo Power BI, è necessario definire un decorator di registrazione eccezioni. A tale scopo, aggiungere il codice seguente all'oggetto visivo:

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;
                }
            }
        }
    }
}

È possibile usare questo decorator in qualsiasi funzione per visualizzare la registrazione degli errori come indicato di seguito.

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

Interrompere le eccezioni

È anche possibile impostare il browser in modo che interrompa le eccezioni rilevate. Questa operazione arresta l'esecuzione del codice ovunque si verifichi un errore e consente di eseguire il debug da questa posizione.

  1. Aprire gli strumenti di sviluppo (F12).

  2. Passare alla scheda Origini .

  3. Fare clic sull'icona Sospendi sulle eccezioni (segno di arresto con un simbolo di sospensione ).

  4. Selezionare Pausa sulle eccezioni rilevate.

    Screenshot shows the Debugger tab with Break on all exceptions selected.

Passaggi successivi