Başarısız U-SQL işleri için kullanıcı tanımlı C# kodunda hata ayıklama

Önemli

Azure Data Lake Analytics 29 Şubat 2024'te kullanımdan kaldırıldı. Bu duyuru ile daha fazla bilgi edinin.

Veri analizi için kuruluşunuz Azure Synapse Analytics veya Microsoft Fabric kullanabilir.

U-SQL, C# kullanarak bir genişletilebilirlik modeli sağlar. U-SQL betiklerinde, C# işlevlerini çağırmak ve SQL benzeri bildirim temelli dilin desteklemediği analiz işlevlerini gerçekleştirmek kolaydır. U-SQL genişletilebilirliği hakkında daha fazla bilgi edinmek için bkz. U-SQL programlama kılavuzu.

Uygulamada herhangi bir kodun hata ayıklaması gerekebilir, ancak bulutta sınırlı günlük dosyalarına sahip özel kodla dağıtılmış bir işin hatalarını ayıklamak zordur. Visual Studio için Azure Data Lake Araçları, özel kodunuzda oluşan hataları daha kolay ayıklamanıza yardımcı olan Başarısız Köşe Hata Ayıklama adlı bir özellik sağlar. U-SQL işi başarısız olduğunda hizmet hata durumunu korur ve araç hata ayıklama için bulut hata ortamını yerel makineye indirmenize yardımcı olur. Yerel indirme, tüm giriş verileri ve kullanıcı kodu dahil olmak üzere tüm bulut ortamını yakalar.

Aşağıdaki videoda Visual Studio için Azure Data Lake Araçları'da Başarısız Köşe Hata Ayıklama gösterilmektedir.

Önemli

Visual Studio bu özelliği kullanmak için aşağıdaki iki güncelleştirmeyi gerektirir: Microsoft Visual C++ 2015 Yeniden Dağıtılabilir Güncelleştirme 3 ve Windows için Evrensel C Çalışma Zamanı.

Başarısız olan köşeyi yerel makineye indirme

başarısız bir işi Visual Studio için Azure Data Lake Araçları açtığınızda, hata sekmesinde ayrıntılı hata iletileri içeren sarı bir uyarı çubuğu görürsünüz.

  1. Gerekli tüm kaynakları ve giriş akışlarını indirmek için İndir'i seçin. İndirme tamamlanmazsa Yeniden Dene'yi seçin.

  2. İndirme tamamlandıktan sonra Aç'ı seçerek yerel bir hata ayıklama ortamı oluşturun. Yeni bir hata ayıklama çözümü açılır ve Visual Studio'da açık olan bir çözümünüz varsa, hata ayıklamadan önce kaydettiğinizden ve kapatdığınızdan emin olun.

USQL'de İndir düğmesinin vurgulandığı Data Lake Analytics işinin ekran görüntüsü.

Hata ayıklama ortamını yapılandırma

Not

Hata ayıklamadan önce, Özel Durum Ayarları penceresinde (Ctrl + Alt + E) Ortak Dil Çalışma Zamanı Özel Durumlarını denetlemeyi unutmayın.

Ortak Dil Çalışma Zamanı Özel Durumları'nın ayarlandığı özel durum ayarlarını gösteren kullanıcı tanımlı C# kaynak kodunun ekran görüntüsü.

Yeni başlatılan Visual Studio örneğinde kullanıcı tanımlı C# kaynak kodunu bulabilir veya bulamayabilirsiniz:

  1. Kaynak kodumu çözümde bulabilirim

  2. Çözümde kaynak kodumu bulamıyorum

Kaynak kodu hata ayıklama çözümüne dahil edilir

C# kaynak kodunun yakalandığı iki durum vardır:

  1. Kullanıcı kodu arka planda kod dosyasında tanımlanır (genellikle U-SQL projesinde adlandırılır Script.usql.cs ).

  2. Kullanıcı kodu U-SQL uygulaması için C# sınıf kitaplığı projesinde tanımlanır ve hata ayıklama bilgileriyle derleme olarak kaydedilir.

Kaynak kod çözüme aktarıldıysa, sorunu gidermek için Visual Studio hata ayıklama araçlarını (watch, değişkenler vb.) kullanabilirsiniz:

  1. Hata ayıklamaya başlamak için F5'e basın. Kod bir özel durum tarafından durdurulana kadar çalışır.

  2. Kaynak kod dosyasını açın ve kesme noktaları ayarlayın, ardından F5 tuşuna basarak kodun hatalarını adım adım ayıklayın.

    Vurgulanan satırda bir özel durum gösteren, kesme noktası ayarlanmış kullanıcı tanımlı kodun ekran görüntüsü.

Kaynak kodu hata ayıklama çözümüne dahil değil

Kullanıcı kodu arka planda kod dosyasına dahil değilse veya derlemeyi hata ayıklama bilgileriyle kaydetmediyseniz, kaynak kod hata ayıklama çözümüne otomatik olarak dahil değildir. Bu durumda, kaynak kodunuzu eklemek için ek adımlara ihtiyacınız vardır:

  1. Derleme kaynak kodunu bulmak ve projeyi hata ayıklama çözümüne eklemek için Çözüm 'VertexDebug' > Varolan Projeyi Ekle > ... öğesine sağ tıklayın.

    Visual Studio'da VertexDebug Çözümünü gösteren çözüm gezgininin ekran görüntüsü.

  2. FailedVertexDebugHost projesi için proje klasörü yolunu alın.

  3. Eklenen derleme kaynak kodu projesi > Özellikler'i Right-Click, soldaki Oluştur sekmesini seçin ve \bin\debug ile biten kopyalanan yolu Çıkış > Çıkış yolu olarak yapıştırın. Son çıkış yolu gibidir <DataLakeTemp path>\fd91dd21-776e-4729-a78b-81ad85a4fba6\loiu0t1y.mfo\FailedVertexDebug\FailedVertexDebugHost\bin\Debug\.

    çıkış altında giden yol vurgulanmış şekilde Visual Studio Code derleme sekmesinin ekran görüntüsü.

Bu ayarlardan sonra F5 ve kesme noktalarıyla hata ayıklamaya başlayın. Sorunu gidermek için Visual Studio hata ayıklama araçlarını (watch, değişkenler vb.) de kullanabilirsiniz.

Not

Kodu her değiştirdikten sonra güncelleştirilmiş .pdb dosyaları oluşturacak şekilde derleme kaynak kodu projesini yeniden oluşturun.

İşi yeniden gönderme

Hata ayıkladıktan sonra proje başarıyla tamamlanırsa çıkış penceresinde aşağıdaki ileti gösterilir:

The Program 'LocalVertexHost.exe' has exited with code 0 (0x0).

Tamamlanma satırı vurgulanmış şekilde çıkış penceresinin ekran görüntüsü.

Başarısız işi yeniden göndermek için:

  1. Arka plan kod çözümleri olan işler için C# kodunu arka plan kod kaynak dosyasına kopyalayın (genellikle Script.usql.cs).

  2. Derlemeleri olan işler için hata ayıklama çözümünde derleme kaynak kodu projesine sağ tıklayın ve güncelleştirilmiş .dll derlemelerini Azure Data Lake kataloğunuza kaydedin.

  3. U-SQL işini yeniden gönderin.

Sonraki adımlar