[제품종류] IEC1000
[개발환경] Visual Studio 2008 C#
=============== 질 문 ===============안녕하세요.
IEC1000-104B2 제품을 구매해서 개발 중이고 이상한 상황이 발생해서 문의 드립니다.
smartGroupBox 를 몇개까지 디자인 화면에 배치 할수있는지요?
smartGroupBox 디잔인이 이뻐서 많이 사용했더니 디버깅 자체가 안됩니다.
이후 연결이 끊기면서 안됩니다.
IEC1000 전원 껐다가 켜야 정상연결 되고 이상없이 잘됩니다.
현재는 smartGroupBox 화면 디자인에서 반으로 줄이고 사용하고 있고 이상없이 잘됩니다.
확인 부탁합니다.
감사합니다.
=============== 답 변 ===============
안녕하세요
문의주신 문제의 경우 Form에 권장 개수 이상의 UI 컴포넌트를 사용하고, 코드의 복잡도나 이벤트 추가가 많은 경우 디버깅 시작(트레이스 모드)에서 발생하게 되는 문제입니다.
응용프로그램 오류 발생 시점은 프로그램에 따라 다르며, Form_Load에서 발생하거나 임의의 동작에서 발생하게 됩니다.
또한 해당 문제는 .Net Compact Framework와 Visual Studio 2008의 버그로 SmartX Framework와는 관련이 없습니다.
적정 컴포넌트 수는 폼당 50~60개 정도이나 실제 제작하신 프로그램에서는 차이가 발생할 수 있으므로 참고하셔서 테스트 진행해 보시기 바랍니다.
자세한 내용은 공지사항 100번 [CASE-2. 디버깅 시작(트레이스 모드)을 진행할 때 응용 프로그램 에러가 발생하는 문제]의 내용을 참고 부탁드립니다.
[자료 경로] : [HNS 홈] - [커뮤니티] - [공지시항] - [100번] - [CASE-2. 디버깅 시작(트레이스 모드)을 진행할 때 응용 프로그램 에러가 발생하는 문제]
[자료 경로 URL] : https://www.hnsts.co.kr/Community/NoticeView/100
공지사항 내용을 확인해보신 뒤 아래 2가지 방식의 디버깅 로그를 확인할 수 있는 대체 방법 예시 코드를 확인하셔서 원하시는 방법으로 디버깅 트레이스를 진행해주시기 바랍니다.
[디버깅 로그를 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);
}
[SerialPort를 이용한 PC에서의 디버깅 로그를 확인하는 예시 코드]
※ 다만 해당 방법의 경우 PC측 SerialPort 프로그램은 직접 제작하셔야 합니다.
private void Form1_Load(object sender, EventArgs e)
{
System.IO.Ports.SerialPort port = new System.IO.Ports.SerialPort("COM2");
port.BaudRate = 9600;
port.Open();
System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(port.BaseStrea
m));
}
private void button1_Click(object sender, EventArgs e)
{
int iNum = 50;
System.Diagnostics.Debug.WriteLine(iNum + "-Test");
}
감사합니다.