Dela via


Felsöka anpassade visuella Power BI-objekt

I den här artikeln beskrivs några grundläggande felsökningsprocedurer som du kan använda när du utvecklar ditt visuella objekt. När du har läst den här artikeln bör du kunna använda följande metoder för att felsöka ditt visuella objekt:

Infoga brytpunkter

Det visuella objektets hela JavaScript läses in varje gång det visuella objektet uppdateras. Därför går alla brytpunkter som du lägger till förlorade när det visuella felsökningsobjektet uppdateras. Som en lösning använder du debugger -instruktioner i koden. Vi rekommenderar att du inaktiverar automatisk inläsning vid användning i debugger koden. Här är ett exempel på hur du använder en debugger instruktion i uppdateringsmetoden.

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

Fånga undantag

När du arbetar med ditt visuella objekt ser du att alla fel "förbrukas" av Power BI-tjänst. Det här är en avsiktlig funktion i Power BI. Det förhindrar att felaktiga visuella objekt gör att hela appen blir instabil.

Som en lösning kan du lägga till kod för att fånga och logga dina undantag, eller ange att felsökaren ska brytas vid fångade undantag.

Logga undantag med en dekoratör

Om du vill logga undantag i ditt visuella Power BI-objekt behöver du definiera en undantagsloggningsdekoratör. Det gör du genom att lägga till följande kod i ditt visuella objekt:

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

Du kan använda den här dekoratören på valfri funktion för att se felloggning på följande sätt.

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

Bryt vid undantag

Du kan också ställa in webbläsaren så att den bryter mot undantag som fångats. Om du bryter stoppas kodkörningen där ett fel inträffar och du kan felsöka därifrån.

  1. Öppna utvecklarverktyg (F12).

  2. Gå till fliken Källor .

  3. Välj ikonen Pausa undantag (stopptecken med en paussymbol).

  4. Välj Pausa vid undantag som fångas.

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

Har du fler frågor? Försök med Power BI Community