2012-05-26 3 views
0

브라우저에서 실행되지만 자바 스크립트에 나타나는 잔상 오류가 발생하는 Silverlight 5 앱을 빌드하면 디버거가있을 때 Visual Studio에서 어떤 이유로 든 캐치되지 않습니다. 붙여진. 난 간단한 것들을 만들었습니다 (VS SL 5 프로젝트 만들기/웹 프로젝트). 디버깅을 할 때 Visual Studio가 아닌 JS를 통해 브라우저에 오류가 표시됩니다.Visual Studio가 아닌 JavaScript로 표시되는 Silverlight 오류

중단 점을 설정하고 처리 할 수 ​​있지만 처리되지 않은 예외가 발생하면 SL은 페이지를 통해 (예상대로) 버블 링하지만 VS는이를 catch하지 않습니다.

저는 VS가 IE 프로세스와 Type = Silverlight에 연결되어 있는지 확인했습니다. 지금 내가 싸우고있는 버그는 "system.argumentexception : 메시지가 예상 범위 내에 들지 않음"이라는 메시지와 함께 잔소리하는 4004 오류 코드 (category = managedruntimeerror)입니다. 그러나 그 오류가 발생한 위치를 찾을 수 없습니다. oa 더 자세한 내용을 스택. 내가 얻는 것은이 http://www.scottleckie.com/2010/04/code-4004-unhandled-error-in-silverlight-application/과 매우 비슷하게 보이는 "Visual Studio JIT 디버거"입니다. 그러나 그의 솔루션은 저에게 맞지 않습니다 ...

답변

0

App.xaml.cs 파일을 보면 Application_UnhandledException이라는 핸들러가 있습니다. .

Deployment.Current.Dispatcher.BeginInvoke(delegate 
    { 
     ReportErrorToDOM(e); 
    }); 

사용자 지정 오류 처리 방법으로 교체 :
이와 비슷한 코드가 있어야합니다.
ReporErrorToDOM은 브라우저에서 JavaScript 오류를 유발하는 것입니다. 하나가없는 경우


당신이 하나를 설정해야합니다

public App() 
{ 
    this.UnhandledException += this.Application_UnhandledException; 
    ... 
} 
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) 
{ 
    // Handle exception here 
    ... 
    // Don't forget this ! 
    e.Handled = true; 
} 
+0

내가 나에게 의미를 넣은 사람은 아니다 디버거가 있지만 연결되어있는 경우 이런 일이 왜 무엇인지 생각한다. Application_UnhandledException의 주석조차도 디버거가 연결될 때 발생하지 않는다고 말합니다. 그러나 이것은 보낸 사람을 들여다 보면서 내가 가진 문제의 뿌리를 볼 수 있었기 때문에 도움이되었습니다. –

관련 문제