2014-03-31 1 views
0

Visual Studio 2010 교수님을 사용하고 있습니다. 프로그램을 테스트 할 때 액세스 위반 등의 처리되지 않은 예외가 발생하면 디버거가 자주 사용하는 라이브러리의 일부인 잠긴 소스 파일에서 중단됩니다. 나는 초기화되지 않은 VAR이 같은 배열에 사용했을 때이 꽤 몇 번 일어난 기억 : var에 초기화 및 일부 대형 음의 값을 갖는다되지잠긴 소스 코드에서 디버거 중단 방법을 중지하는 방법 vs2010을 작성하지 않았습니다.

myArray[var] 

. 그러나 이것이 발생하면이 예외가 발생한 곳에서 "내 코드/작성한 코드"의 마지막 줄을 보는 방법을 알 수 없습니다. 단계적으로 시도하거나 어떻게 손쉽게 예외를 다시 작성합니다. 내 디버깅 옵션을 통해 내가 이것을 해제 할 수 있는지 살펴 보았다. 그러나 아마도 방법이있을 것입니다. 문제를 찾을 곳이 없다면 문제를 찾기까지 오랜 시간이 걸립니다.

다시 예외가 발생한 곳의 "내 코드/코드"에 줄을보고 싶습니다.

감사합니다.

편집 : 이 예외가 occures 후 난 호출 스택에서 볼 것입니다 : 거기

SDL.dll!00206280() 
    [Frames below may be incorrect and/or missing, no symbols loaded for SDL.dll] 
    Uber Mario.exe!_main() + 0x6c bytes C 
    Uber [email protected]() + 0x101 bytes C 
    Uber Mario.exe!__tmainCRTStartup() Line 547 + 0x1c bytes C 
> kernel32.dll!76ab339a()  
    ntdll.dll!77789ef2()  
    ntdll.dll!77789ec5()  

아무것도 내가 쓴 기능이나 코드로 나에게 어떤 의미하지 않습니다.

답변

0

예외를 일으킨 기능을 찾기 위해 스택 추적을 항상 볼 수 있습니다.
언어로 사용자가
myArray[var] // say var is uninitialised에 액세스 할 수 없으므로 이러한 호출 스택이 발생합니다.
그러나 Windows의 언어 런타임은 보안상의 이유로 유효한 영역에 액세스하고 있는지 확인합니다. 그래서 기본적으로 귀하의 경우 런타임에서 코드가 아닌이 예외를 throw합니다. 당신은 당신이 같은 예외 얻을 것 ++의 C/C가 있다면
은 : 실행을 브레이크

Run-Time Check Failure #3 - The variable 'var' is being used without being initialized. 

을, 당신은 실패의 원인 현재 실행중인 라인을 얻을 것입니다.

+0

어디서 찾을 수 있습니까? – user1397417

+0

이 두 링크 참조 : http://msdn.microsoft.com/en-us/library/windows/hardware/hh439516(v=vs.85).aspx http://msdn.microsoft.com/en-us/ library/a3694ts5.aspx – deeiip

+0

내 편집을 참조하십시오. – user1397417