2010-04-16 4 views
0

Visual Studio를 사용하고 있는데 사용자 지정 컨트롤을 둘러 보면서 메모리 부족 오류가 발생하기 시작했습니다. Visual Studio 2008에서 Out of Memory 오류가 발생하여 WinForms 디자이너가 열립니다. 어떻게 해결할 수 있습니까?

alt text http://i41.tinypic.com/9sez43.jpg

스택 추적

은 도움이되지 않습니다 - 그렇게에 반영을하고 프레임의 단지 무리이고.

alt text http://i41.tinypic.com/av53dl.jpg

나는이 문제를 어떻게 해결할 수 있습니까?

+0

먼저해야 할 일은 사용자 정의 컨트롤의 생성자 (물론 InitializeComponent 호출 제외)의 모든 코드를 주석 처리하는 것입니다. –

+0

가능한 원인을 모르겠지만 VS를 닫았다가 다시 열어 디자이너를 열어도 여전히이 오류가 발생하는지 확인하십시오. – Ando

+0

외부 예외의 스택 추적을 표시하지만 내부 예외의 예외 메시지는 표시됩니다. 그건 도움이 안돼. –

답변

0

사용자 지정 컨트롤의 생성자에 문제가있었습니다.

투명 비트가 설정되지 않은 비트 맵에서 Bitmap.MakeTransparent()를 호출하면 메모리 부족 오류가 발생합니다.

이것은 디자이너에서보고되었지만 실제로 관련 스택 추적이 없습니다.

해결 방법은 사용자 지정 컨트롤을 통해 빗어내어 생성자가 예외를 통과 할 수 없는지 확인하는 것입니다. 한 가지 방법은 컨트롤의 생성자 논리를 try ... catch로 둘러싸고 Console.WriteLine을 사용하여 오류를보고하는 것입니다. 전체 스택 추적과 함께 런타임에이를 볼 수 있습니다.


:은 내가 intertubes를 검색하여 유사한 문제에 대해 묻는 질문의 숫자를 보았다하지만 답변에 대한 명확한 아무것도. 그래서 저는이 질문 + 답을 다른 사람에게 도움이되기를 희망하면서 여기에 넣었습니다.

관련 문제