Aracılığıyla paylaş


Simge indiricisi (dotnet-symbol)

Bu makale şunlar için geçerlidir: ✔️ .NET Core 2.1 SDK ve sonraki sürümleri

Yükleme

NuGet paketinin en son sürüm sürümünü dotnet-symbol yüklemek için dotnet tool install komutunu kullanın:

dotnet tool install --global dotnet-symbol

Özet

dotnet-symbol [-h|--help] [options] <FILES>

Açıklama

Genel dotnet-symbol araç, çekirdek dökümlerinde ve minidumlarda hata ayıklamak için gereken dosyaları (simgeler, DAC, modüller vb.) indirir. Bu, başka bir makinede yakalanan dökümlerin hatalarını ayıklarken yararlı olabilir. dotnet-symbol dökümü analiz etmek için gereken modülleri ve simgeleri indirebilir.

Seçenekler

  • --microsoft-symbol-server

    Simge sunucusu yolu ekle http://msdl.microsoft.com/download/symbols (varsayılan).

  • --server-path <symbol server path>

    Sunucu yoluna bir sembol sunucusu ekleyin.

  • authenticated-server-path <pat> <server path>

    Kişisel erişim belirteci (PAT) kullanarak sunucu yoluna kimliği doğrulanmış bir sembol sunucusu ekleyin.

  • --cache-directory <file cache directory>

    Önbellek dizini ekler.

  • --recurse-subdirectories

    Tüm alt dizinlerdeki giriş dosyalarını işleyin.

  • --host-only

    Yalnızca lldb'nin çekirdek dökümlerini yüklemek için ihtiyaç duyduğu konak programını (dotnet) indirin.

  • --symbols

    Sembol dosyalarını (.pdb, .dbg, .cüce) indirin.

  • --modules

    Modül dosyalarını indirin (.dll, .so, .dylib).

  • --debugging

    Özel hata ayıklama modüllerini (DAC, DBI, SOS) indirin.

  • --windows-pdbs

    Taşınabilir PDB'ler de kullanılabilir olduğunda Windows PDB'lerini indirmeye zorla.

  • -o, --output <output directory>

    Çıkış dizinini ayarlayın. Aksi takdirde, giriş dosyasının yanına yazın (varsayılan).

  • -d, --diagnostics

    Tanılama çıkışını etkinleştirin.

  • -h|--help

    Komut satırı yardımlarını gösterir.

Sembolleri indirme

Döküm dosyasında çalıştırılırsa dotnet-symbol , yönetilen derlemeler de dahil olmak üzere dökümde hata ayıklamak için gereken tüm modüller, simgeler ve DAC/DBI dosyaları varsayılan olarak indirilir. SOS artık gerektiğinde sembolleri indirebildiğinden, çoğu Linux çekirdek dökümü yalnızca konak (dotnet) ve hata ayıklama modülleriyle lldb kullanılarak analiz edilebilir. Lldb ile çekirdek dökümünü tanılamak için gerekli olan bu dosyaları almak için komutunu çalıştırın:

dotnet-symbol --host-only --debugging <dump file path>

Sorun giderme

  • Semboller indirilirken 404 Bulunamadı.

    Sembol indirme yalnızca resmi web sitesi ve dotnet yükleme betiklerindeki varsayılan kaynaklar gibi resmi kanallar aracılığıyla alınan resmi .NET Core çalışma zamanı sürümleri için desteklenir. Hata ayıklama dosyaları indirilirken oluşan bir 404 hatası, dökümü yerel olarak veya belirli bir Linux dağıtımı için veya archlinux gibi topluluk sitelerinden oluşturulan kaynak gibi başka bir kaynaktan bir .NET Core çalışma zamanıyla oluşturulduğunu gösterebilir. Bu gibi durumlarda, hata ayıklama için gereken dosya (dotnet, libcoreclr.so ve libmscordaccore.so) bu kaynaklardan veya döküm dosyasının oluşturulduğu ortamdan kopyalanmalıdır.

Ayrıca bkz.