2013-08-01 30 views
5

C# uygulamam bu pencerede çöküyor. SharpDX kullanan bir DirectX uygulamasıdır.Bu C# kilitlenme nasıl hata ayıklanır?

Bunu hata ayıklamaya nereden başlayacağımı bile bilmiyorum? Herhangi bir ipucu?

enter image description here

ve yığını: i yerli kodlarının ayıklanması etkinleştirdiğinizde

enter image description here

, kaza şöyle Yanlış bir sürümünü kullanıyorsanız

ntdll.dll!77d1f8b1()  
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
ntdll.dll!77d1f8b1()  
KernelBase.dll!7658149d() 
kernel32.dll!75c51194()  
kernel32.dll!75c51194()  
ntdll.dll!77d5b459()  
ntdll.dll!77d5b42b()  
ntdll.dll!77d5b3ce()  
ntdll.dll!77d10133()  
XAudio2_7.dll!61fb6b43()  
XAudio2_7.dll!61fa7fa2()  
XAudio2_7.dll!61fa79e9()  
XAudio2_7.dll!61fa8bb8()  
XAudio2_7.dll!61fa9492()  
[External Code] 
SharpDX.XAudio2.dll!SharpDX.XAudio2.Voice.DestroyVoice() Line 916 + 0x34 bytes C# 
+2

0xc0000005, belirtilen bir adreste Erişim İhlali anlamına gelir (0x5fea4c9). Adres boş bir işaretçi (0x00000000) değildi, bu nedenle, kendisine ait olmayan bir bellek parçasına erişmeye çalışan yerel koddu, zaten silinmişti veya başka bir şekilde erişilemiyordu. Listelenen "en yaygın kaynakları" kontrol ettiniz mi? – nvoigt

+0

İşaretçiler kullanıyor musunuz? –

+0

@SriramSakthivel doğrudan değil, kullanıyorum bu directx kitaplığı, işaretçiler kullanır. – clamp

cevap

1

SharpDX.XAudio2.dll dosyasının. Bu, örneğin x86 uygulamanızın ve x64 sürümünü kullanmaya çalıştığınız anlamına gelir. Dll'nin uygun sürümünü yüklemelisiniz.

+0

Nasıl anlatabilirsiniz? – NWard

+0

Yanlış bir sürümü .dll kullandığınızda bu yaygın bir hatadır. –

İlgili konular