Postup ladění vizuálů Power BIHow to debug Power BI visuals

Tato stránka zobrazuje několik tipů pro ladění při sestavování vizuálu.This page shows some tips for debugging while building your visual. Obsahuje základní kroky a ukazuje rozdíly mezi laděním standardních aplikací front-endu a vizuálu Power BI.It includes basic steps and shows differences between standard frontend applications and Power BI visual's debugging. Po přečtení tohoto článku budete umět ladit vizuály Power BI pomocí zarážek, protokolování výjimek a zachytávání výjimek v Chromu a Edgi.After reading the article you will be able to debug Power BI visuals using breakpoints, log exceptions, and catch exceptions in Chrome and Edge.

Použití zarážekUsing breakpoints

Vzhledem k tomu, že se JavaScript vizuálu znovu úplně načte při každé aktualizaci vizuálu, dojde při aktualizaci vizuálu ladění ke ztrátě všech vámi přidaných zarážek.As the visual's JavaScript is entirely reloaded every time the visual is updated, any breakpoints you add will be lost when the debug visual is refreshed. Jako alternativní řešení můžete použít příkazy debugger ve vašem kódu.As a workaround, use debugger statements in your code. Při použití debugger v kódu se doporučuje vypnout automatické opětovné načítání.It's recommended to turn off auto reload while using debugger in your code.

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

Zobrazení výjimekShowing exceptions

Při práci na vizuálu si všimnete, že služba Power BI všechny chyby „zpracuje“.When working on your visual, you'll notice that all errors are 'consumed' by the Power BI service. Jedná se o úmyslnou funkci Power BI, která brání tomu, aby nesprávně se chovající vizuály způsobily nestabilitu celé aplikace.This is an intentional feature of Power BI to prevent misbehaving visuals from causing the entire app to become unstable.

Jako alternativní řešení můžete přidat kód pro zachycení a zaprotokolování výjimek, nebo můžete nastavit ladicí program, aby se při zachycení výjimek přerušil.As a workaround, add code to catch and log your exceptions, or set your debugger to break on caught exceptions.

Protokolování výjimekLog exceptions

Pokud chcete ve vizuálu Power BI protokolovat výjimky, přidejte do něj následující kód definující dekoratér protokolování výjimek.To log exceptions in your Power BI visual, add the following code to your visual, to define an exception logging decorator.

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

Potom můžete tento dekoratér použít na libovolnou funkci a zobrazit protokolování chyb.Then, you can use this decorator on any function to see error logging.

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

Přerušení při výjimkáchBreak on exceptions

Prohlížeč můžete také nastavit tak, aby při zachycení výjimek došlo k přerušení.You can also set the browser to break on caught exceptions. Tím se zastaví provádění kódu všude tam, kde dojde k chybě, a umožní vám tam provést ladění.This'll stop code execution wherever an error happens, and allow you to debug from there.

EdgeEdge

  1. Otevřete vývojářské nástroje (F12).Open developer tools (F12).
  2. Přejděte na kartu Ladicí program.Go to the Debugger tab.
  3. Klikněte na ikonu změnit chování při výjimce (šestiúhelník se symbolem zastavení).Click the break on exceptions icon (hexagon with a pause symbol).
  4. Vyberte Přerušovat při všech výjimkách.Select Break on all exceptions.

Snímek obrazovky zobrazující kartu ladicího programu s vybraným přerušováním při všech výjimkách

ChromeChrome

  1. Otevřete vývojářské nástroje (F12).Open developer tools (F12).
  2. Přejděte na kartu Sources (Zdroje).Go to the Sources tab.
  3. Klikněte na ikonu změnit chování při výjimce (značka stop se symbolem zastavení).Click the break on exceptions icon (stop sign with a pause symbol).
  4. Zaškrtněte políčko Pause On Caught Exceptions (Zastavit u zachycených výjimek).Select the Pause On Caught Exceptions check box.

Snímek obrazovky zobrazující kartu zdrojů s vybranou možností pozastavení u zachycených výjimek

Další krokyNext steps