Ako ladiť vizuály Power BIHow to debug Power BI visuals

Táto stránka zobrazuje niekoľko tipov na ladenie pri vytváraní vizuálu.This page shows some tips for debugging while building your visual. Obsahuje základné kroky a zobrazuje rozdiely medzi štandardnými klientskymi aplikáciami a ladením vizuálu v službe Power BI.It includes basic steps and shows differences between standard frontend applications and Power BI visual's debugging. Po prečítaní článku budete vedieť ladiť vizuály Power BI pomocou bodov prerušenia, zaznamenávať výnimky a zachytávať výnimky v prehliadačoch Chrome a Microsoft Edge.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žívanie bodov prerušeniaUsing breakpoints

Keďže JavaScript vizuálu sa v plnej miere opakovane načíta pri každej aktualizácii vizuálu, akékoľvek body prerušenia, ktoré pridáte, sa stratia po obnovení ladeného vizuálu.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. Alternatívnym riešením je v kóde použiť príkazy debugger.As a workaround, use debugger statements in your code. Odporúča sa, aby ste počas používania debugger vo svojom kóde vypli automatické opätovné načítanie.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>`;
}

Zobrazovanie výnimiekShowing exceptions

Keď pracujete na svojom vizuále, všimnete si, že všetky chyby „spotrebuje“ služba Power BI.When working on your visual, you'll notice that all errors are 'consumed' by the Power BI service. Toto je zámerná funkcia Power BI, aby sa predišlo tomu, že zle fungujúce vizuály spôsobia nestabilitu celej aplikácie.This is an intentional feature of Power BI to prevent misbehaving visuals from causing the entire app to become unstable.

Ako alternatívne riešenie pridajte kód na zachytenie a zaznamenanie svojich výnimiek, alebo nastavte svoj ladiaci nástroj, aby sa prerušil na zachytených výnimkách.As a workaround, add code to catch and log your exceptions, or set your debugger to break on caught exceptions.

Zaznamenávanie výnimiekLog exceptions

Ak chcete zaznamenať výnimky vo svojom vizuáli v Power BI, pridajte do svojho vizuálu nasledujúci kód, čím zadefinujete dekorátor zaznamenávania výnimiek.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 požiť tento dekorátor na akúkoľvek funkciu a zobraziť záznam chýb.Then, you can use this decorator on any function to see error logging.

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

Zastavenie na výnimkeBreak on exceptions

Môžete tiež nastaviť prehliadač, aby zastavil pri zachytení výnimky.You can also set the browser to break on caught exceptions. Tým sa vždy zastaví vykonávanie kódu pri výskyte chyby a vy budete môcť začať ladenie z tohto bodu.This'll stop code execution wherever an error happens, and allow you to debug from there.

Microsoft EdgeEdge

  1. Otvorte vývojárske nástroje (F12).Open developer tools (F12).
  2. Prejdite na kartu Ladiaci nástroj.Go to the Debugger tab.
  3. Kliknite na ikonu zastavenia na výnimke (šesťuholník so symbolom pozastavenia).Click the break on exceptions icon (hexagon with a pause symbol).
  4. Vyberte možnosť Zastaviť na všetkých výnimkách.Select Break on all exceptions.

Polia roly údajov

ChromeChrome

  1. Otvorte vývojárske nástroje (F12).Open developer tools (F12).
  2. Prejdite na kartu Zdroje.Go to the Sources tab.
  3. Kliknite na ikonu zastavenia na výnimke (značka stop so symbolom pozastavenia).Click the break on exceptions icon (stop sign with a pause symbol).
  4. Začiarknite políčko Pozastaviť na zachytenej výnimke.Select the Pause On Caught Exceptions check box.

Polia roly údajov

Ďalšie krokyNext steps