[제품종류] IEC667
[개발환경] Visual Studio 2008 C#
=============== 질 문 ===============개발 모드에서 프로그램 개발 중에 F5(디버깅 시작) 로
프로그램을 다운로드 하고 디버깅하면 어느 순간에
"~.exe 응용프로그램에 오류가 발생하여 시스템을 종료해야 합니다."
라는 메시지가 뜨고 더 이상 디버깅이 되지 않습니다.
(모두 중단이나 디버깅 중지 명령도 듣지 않음)
응용 프로그램 오류 창을 닫으면 visual studio 에
"장치와의 원격 연결이 끊어졌습니다. 장치 연결 상태를 확인하고 디버깅을 다시 시작하십시오."
리고 나옵니다.
프로그램을 빌드 하여 넣은 다음에 runtime 모드로 실행하면 현재까지 확인 된 봐로는
오류가 발생하지 않습니다.
어디서 에러가 나는건지 확인 할 방법이 있나요?
(참고로 이미지 체크는 에러가 없습니다.)
=============== 답 변 ===============
안녕하세요, HNS입니다.
Form에 권장 개수 이상의 UI 컴포넌트를 사용하고, 코드 복잡도 증가 또는 이벤트 핸들러가 과도하게 추가된 경우 디버깅 시작(트레이스 모드) 시 응용 프로그램 오류가 발생할 수 있습니다.
해당 오류는 프로그램 구성에 따라 발생 시점이 상이하며,
Form_Load 단계에서 발생하거나 특정 사용자 동작 중 임의의 시점에 발생할 수 있습니다.
본 현상은 .NET Compact Framework 및 Visual Studio 2008 환경에서 발생하는 알려진 버그로,
SmartX Framework와는 관련이 없습니다.
폼당 권장 UI 컴포넌트 수는 약 50~60개 수준이나,
실제 프로그램 구조 및 구현 방식에 따라 차이가 발생할 수 있습니다.
아래 디버깅 로그를 확인할 수 있는 대체 방법 예시 코드를 확인하셔서 디버깅 트레이스를 진행해주시기 바랍니다.
[디버깅 로그를 File로 저장하는 예시 코드]
private int m_iCount = 0;
private void Form1_Load(object sender, EventArgs e)
{
System.Diagnostics.Debug.Listeners.Add(new TextWriterTraceListener("SD Card\\Log.txt"));
}
private void button1_Click(object sender, EventArgs e)
{
Debug.WriteLine("[Debug Message]");
Debug.WriteLine(m_iCount);
m_iCount = 100;
Debug.WriteLine(m_iCount);
}
감사합니다.




