Moja aplikacja C# ulega awarii w tym oknie. Jest to aplikacja DirectX, która używa SharpDX.Jak debugować ten błąd C#?
Nie wiem nawet, od czego zacząć to debugować? Jakieś wskazówki?
kiedy włączyć debugowanie kodu natywnego, katastrofa wygląda następująco:
i stos jest:
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#
0xc0000005 oznacza naruszenie dostępu w określonym adresie (0x5fea4c9). Adres nie był wskaźnikiem zerowym (0x00000000), więc był to kod natywny próbujący uzyskać dostęp do części pamięci, która do niego nie należała, została już usunięta lub w inny sposób niedostępna. Czy sprawdziłeś listę "najczęstszych źródeł", które są wymienione? – nvoigt
Czy używasz wskaźników? –
@SriramSakthivel nie bezpośrednio, ale ta biblioteka directx, której używam, używa wskaźników. – clamp