내 C# 응용 프로그램이이 창과 충돌합니다. SharpDX를 사용하는 DirectX 응용 프로그램입니다.이 C# 충돌을 디버깅하는 방법은 무엇입니까?
이 디버깅을 시작할 위치를 모르겠습니다. 어떤 팁?
를 스택은 다음과 같습니다 : 내가 네이티브 코드의 디버깅을 사용하도록 설정하면
는, 충돌은 다음과 같습니다 당신은 잘못된 버전을 사용하는
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는 지정된 주소 (0x5fea4c9)의 액세스 위반을 의미합니다. 주소는 null 포인터 (0x00000000)가 아니므로, 네이티브 코드가 속하지 않은 메모리에 액세스하려고했거나 이미 삭제되었거나 액세스 할 수 없었습니다. 나열된 "가장 일반적인 소스"를 확인 했습니까? – nvoigt
포인터를 사용하고 있습니까? –
@SriramSakthivel 직접적으로 아니지만, 내가 사용하는 directx 라이브러리는 포인터를 사용합니다. – clamp