Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özel .NET hata ayıklayıcıları genellikle ayrı bir işlemde barındırılır. Mobil platformlar bu tür işlemlerin oluşturulmasını kısıtlar veya yasaklar, bu nedenle hedef tarafı özel hata ayıklayıcısı bileşeninin uygulama işlemine yüklenmesi gerekir.
Bu makale yalnızca .NET 11 ve sonraki sürümlerde mobil platformlarda (iOS ve Android) hata ayıklayıcı başlatma için geçerlidir. NativeAOT için geçerli değildir.
Hedef tarafı bileşenini uygulama ve dağıtma
Hedef tarafındaki hata ayıklayıcı bileşeni, DllGetClassObject giriş noktasına sahip bir profil oluşturucu dinamik kitaplık olarak uygulanmalıdır. Örnek uygulamalar için bkz. .NET profil oluşturucu örnekleri.
Hedef platformun yerel kitaplık paketleme, kod imzalama ve yükleme gereksinimleriyle uyumlu olarak uygulamanın bir parçası olarak libmscordbi ve libmscordaccore dinamik kitaplıklarıyla birlikte dağıtılmalıdır.
Başlangıçta hedef taraftaki bileşeni yükleyin
CoreCLR'nin bileşeninizi profil oluşturucu olarak yüklemesini sağlamak için çalışma zamanı başlamadan önce aşağıdaki ortam ayarlarını sağlayın:
| Ortam değişkeni | Value |
|---|---|
DOTNET_ENABLE_PROFILING |
1 |
DOTNET_PROFILER |
{<profiler-CLSID>} |
DOTNET_PROFILER_PATH |
<component-path> |
<profiler-CLSID> öğesini bileşeninizin profil oluşturucu GUID'siyle değiştirin ve çevresindeki süslü ayraçları koruyun.
<component-path> öğesini hedef uygulamanın dağıtımındaki yerel bileşenin yolu ile değiştirin.
Bu ayarlar hakkında ayrıntılı bilgi için bkz . Hata ayıklama ve profil oluşturma için çalışma zamanı yapılandırma seçenekleri.
Bu ayarları sağlamak için platformunuzun uygulama başlatma yapılandırmasını kullanın.
Note
Bu yordam bir hata ayıklayıcıyı başlatmak için profil oluşturucu mekanizmasını kullansa da, mobil platformlarda üçüncü taraf profil oluşturucular için genel amaçlı destek oluşturmaz.
Hata ayıklayıcı arabirimini oluşturma
Hedef taraf bileşeninde aşağıdaki başlatmayı gerçekleştirin:
- Dinamik kitaplığı yükleyin
libmscordbive dışarı aktarmayı çağırınCoreCLRCreateCordbObjectEx. Döndürülen nesneyiICorDebugiçin sorgula. - ICorDebug::Initialize çağrısı yapıp yönetilen olay işleyicinizi ICorDebug::SetManagedHandler ile kaydedin.
- ICorDebug::DebugActiveProcess ile uygulamaya bağlanın.
Erken modül yükleme ve başlatma olaylarını kaçırmamak için, eklemeyi çalışma zamanının başlatılmasıyla eşgüdümleyin; böylece DebugActiveProcess tamamlanmadan önce yönetilen yürütme devam etmez.
Başlatma işleminden ICorDebug sonra diğer Unix platformlarında olduğu gibi hata ayıklayıcı arabirimlerini kullanın.