Power BI özel görsellerinde hata ayıklama

Bu makalede, görselinizi geliştirirken kullanabileceğiniz bazı temel hata ayıklama yordamları açıklanmaktadır. Bu makaleyi okuduktan sonra görselinizde hata ayıklamak için aşağıdaki yöntemleri kullanabilmeniz gerekir:

Kesme noktaları ekleme

Görsel her güncelleştirildiğinde görselin tüm JavaScript'i yeniden yüklenir Bu nedenle, hata ayıklama görseli yenilendiğinde eklediğiniz kesme noktaları kaybolur. Geçici bir çözüm olarak kodunuzda deyimleri kullanın debugger . Kodunuzda kullanırken debugger otomatik yeniden yüklemeyi kapatmanız önerilir. Aşağıda, güncelleştirme yönteminizde deyimin nasıl kullanılacağına ilişkin bir debugger örnek verilmiştır.

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

Catch özel durumları

Görseliniz üzerinde çalışırken, tüm hataların Power BI hizmeti tarafından 'tüketildiğini' fark edeceksiniz. Bu, Power BI'ın kasıtlı bir özelliğidir. Hatalı davranan görsellerin uygulamanın tamamının kararsız hale gelmesine neden olmasını önler.

Geçici bir çözüm olarak, özel durumlarınızı yakalamak ve günlüğe kaydetmek için kod ekleyin veya yakalanan özel durumlarda hata ayıklayıcınızı kıracak şekilde ayarlayın.

Dekoratör ile özel durumları günlüğe kaydetme

Power BI görselinizde özel durumları günlüğe kaydetmek için bir özel durum günlüğü dekoratörü tanımlamanız gerekir. Bunu yapmak için görselinize aşağıdaki kodu ekleyin:

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

Hata günlüğünü aşağıdaki gibi görmek için bu dekoratörü herhangi bir işlevde kullanabilirsiniz.

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

Özel durumlarda kesme

Yakalanan özel durumlarda tarayıcıyı kıracak şekilde de ayarlayabilirsiniz. Hata ayıklama, hata oluştuğu her yerde kod yürütmeyi durdurur ve oradan hata ayıklamanıza olanak tanır.

  1. Geliştirici araçlarını (F12) açın.

  2. Kaynaklar sekmesine gidin.

  3. Özel durumlarda duraklat simgesini (duraklatma simgesiyle işareti durdur) seçin.

  4. Yakalanan özel durumlarda duraklat'ı seçin.

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

Başka sorunuz var mı? Power BI Topluluğu'nu deneyin