어제 저녁 10시쯔음에 같이 프로젝트 진행중인 다른부서의 과장님께 전화가 왔다. 전화를 보면서도 무슨일이 생겼구나.. 를 싶어서 전화를 받았다. 역시나 내가 만든 프로그램이 진행중에 갑자기 종료가 되어버리는 상황이 나타났다고 얘기해주셨다.
수락시험을 하루 앞두고서 갑자기 생긴 문제라서 당황했다.. 내일 아침에 조금 일찍나와서 한번 봐달라고 말씀해주셨다.
상황을 들어보니,, 사실 내가 할 수 있는 문제일까? 를 생각했고 아침에 1시간 정도 일찍나와서 디버깅을 하러 갔다. 금방 수락시험을 위해서 떠나셔야해서 짧은 시간밖에 확인하지 못했다. 시간에 쫓기다보니 할 수 있는 것들도 안보이고, 무엇을 손봐야 할지 감이 잘 잡히지 않았다. 결국 문제를 해결하지 못했다. 그래도 시험은 하러 가셨다. 이부분을 제외하고서 다른 부분들을 먼저 시험하면되니까 그대로 진행하셨다.
에러상황을 보니 우선 오버플로우가 나면서 프로그램이 그냥 종료되는 상황이었다.
Serial로 통신중인 패킷을 보내고, 받는 과정에서 보낸 횟수를 UInt 변수를 선언해서 (현재값 - 이전값)-1 을 통해서 에러를 카운트 해주고 있었는데, 갑자기 현재값이 0으로 찍히면서 음수가 되어 오버플로우가 나는 현상이었다. 근데 이부분만 나는 것은 아니고, 여러개의 통신을 한번에 진행했을때 나는 현상이라서 당황스러웠다.. 문제점이 무엇인지를 잘 모르겠어서 팀장님이 오셨을때 어떤 방안이 있는지 자문을 구했다.
주신 솔루션을 토대로, 값을 직접 찍어보면서 데이터가 깨지는것인지, 아니면 잘못받고있는지를 확인해보려고 한다. 그런데 수락시험중이라서 다음주쯤에 디버깅 진행할 것 같은데.. 계속해서 시험이 예정되어있어서 내가 볼 수있는 틈이 많지 않을 것 같다. 뭔가 여유롭게 진행하고싶은데, 시험자체를 계속해서 쫓기듯이 하는 느낌이라서 힘들당,,ㅠ^ㅠ 간만에 스트레스를 좀 받았음
어우.... 지호 머리 좀 아팠겠구만,,,,,,,, 고생했다잉!!!!!
얼른 해결했다는 소식 올려주세요~