C# WPF 앱이 정기적으로 실행되며이 오류가 계속해서 읽거나 쓰려고 시도합니다. 이것은 종종 다른 메모리가 손상되었음을 나타냅니다. C#C# 응용 프로그램의 호출 스택 정보를 분석하는 방법 내 데이터베이스에서 액세스 예외가 발생했습니다. 메모리를 읽거나 쓰려고하면 손상됩니다.
이것이 내 코드입니다. 처음에는 일부 외부 응용 프로그램이 내 데이터베이스를 방해한다고 생각하여 DB가 닫혔는지 또는 열려 있는지 확인하기위한 코드를 추가했습니다. 그러나 오류가 뭔가 다른 것 같아서 이것이 나를 미치게합니다.
나는 호출 스택을 게시하고 스레드 17에서 문제가 발생한 원인에 대한 몇 가지 사실을 알 수 있습니다. 내가 전체 덤프가 스레드를 확인하시기 바랍니다 공유 드라이브에 대한
링크에는 17는 [https://drive.google.com/open?id=0BzWisplLq-PqMlhzaVdFNTJiZjg]
내가 문제를 찾는 데 도움주세요? 나는 이것에 초보 다.
using (var context = Context.Create("C:\\XSR_BIB_V2\\XSR_BIB_V2_DATABASE.sdf", "", 4091))
{
if (DbUpdateLoop.context.Database.Connection.State == System.Data.ConnectionState.Closed)
DbUpdateLoop.context.Database.Connection.Open();
try
{
var data = DbUpdateLoop.context.EnergyPeakInfo_Tbl.Where(x => (my_startTime >= x.StartTime) && (my_stopTime <= x.StopTime)).FirstOrDefault();
}
catch (AccessViolationException aV)
{
//exception is not caught here
}
}
@ChrisO가 스택을 게시했습니다. 네가 나에게 길을 보여줄 수 있다면이 일은 나를 도울지도 모른다. –
게시 한 덤프가 나에게 적합하지 않거나 유용하지 않습니다. 어떻게 그걸 잡았 니? 난 procdump를 실행하는 것이 좋습니다, 그것은 예외에 대한 프로세스를 모니터링하고 하나가 발생하면 덤프를 작성해야합니다. 'procmon -n 1000 -ma -e 1'를 사용하면 유용한 덤프를 얻을 수 있습니다. –
게시 한 코드는 스크린 샷의 코드가 아닙니다. 전체 덤프 파일을 공유하지 않았으며 텍스트 파일 만 공유했습니다. 어떤 명령도 텍스트 파일의 예외가 실제로 액세스 위반임을 확인하지 않습니다. 대체로 요청은 의미가 없습니다. –