2011-04-13 5 views
-1

이상한 문제가 있습니다. try ... catch로 둘러 쌓인 코드가 있습니다.예외가 throw되는 데 4 분이 걸립니다.

catch 세그먼트에서 발생한 문제에 대한 스크린 샷을 찍고 있습니다.

문제는 오류 조건이 발생하면 예외가 발생하여 몇 분 안에 던져 질 수 있으므로 완전히 다른 스크린 샷을 받게된다는 것입니다.

예외를 발생시키는 데 몇 분이 걸릴 수있는 원인은 무엇입니까?

감사

코드 추가 :

는 WaitAndActivateWindow는 잘못된 창으로로드 코드를 통해 전화를 ~ 0.2 초 정도 걸립니다 (방법을 초점이 AutoIT 반입 호출

try 
{ 
    // Load AutoIt defaults. 
    LoadDefaults(); 

    // HandleInstallation(); 

    // Some more actions here 
} 
catch (Exception e) 
{ 
    this.WaitAndActivateWindow(); 
    ScreenShotUtility.TakeScreenShot(@"UnhandledError"); 

    Log(e.ToString()); 

    throw; 
} 
+2

예외는 무엇입니까? 어떤 유형이 예외입니까? – Jaymz

+0

나는 StackOverflowException 예외를 sthe? –

+0

TCP 소켓에서 시간 초과가 있습니까? –

답변

3

예외가 throw되는 경우는 거의 없습니다. 내 생각에 예외가 잡히기 전에 스택이 해제 될 때 해제되는 다른 것이 지연을 유발할 가능성이 더 큽니다.

나는 의심 것 : 외부 시스템 (데이터베이스, 네트워크 등) 모두 파괴되고있는 개체의 컬렉션을 발표 것

  • 아무것도

    • 열기 연결합니다. 이러한 객체에 복잡한 IDisposable 논리가 있습니까?

    디버거로 코드를 실행하고 적절하게 배치 된 몇 개의 중단 점을 사용하면 문제를 신속하게 좁혀 야합니다. @ forsvarir가 예외를 던지고 catch 할 때 타임 스탬프를 캡처하는 것에 대한 제안은 당신에게 도움의 손길을 줄 것입니다.

  • 0

    . 예외가 오랜 시간이 걸리는 가장 일반적인 경우는 OS (내 경우 Mac OS X)가 파일에 코어 덤프를 작성하고 있다는 것입니다 (이 작업을 수행하도록 Mac을 구성했습니다). 보고 싶지만 다른 많은 가능성이 있다고 확신합니다. 의. 질문에 대한 추가 정보가 도움이 될 수 있습니다.

    +0

    심볼은 예외 메커니즘의 프로세스와 관련이 있습니까? (d/l 심볼을 스택 트레이스 또는 무언가에 사용하려고합니까?) –

    +1

    예외가 잡히고 있기 때문에 OS가 코어 파일 (또는 동급 파일)을 작성하는 것은 거의 없습니다. – forsvarir

    관련 문제