프로그램 문제 해결 방법
글쓴이: MythRab / 작성시간: 수, 2004/05/19 - 4:36오후
이런 경우가 있지 않습니까...
새로운 프로그램을 작성했거나 기존의 잘 동작하던 프로그램을 수정 또는 그 프로그램에 다른 기능을 추가했을때 돌아가리라고 믿었던(?) 놈이 제대로 돌아가지 않는 경우...
문법적인 에러도 없고 며칠을 들여다봐도 논리적인 오류도 없는 것 같은데 잘 돌아가는 척 하면서 다른 결과를 가져오는 경우... 처음부터 다시 짜야되나 하는 생각도 들고, 몸에서 열이나고 왠지 컴을 던져버리고 싶은 욕망이 들곤 하지요. 나만 그런가 :oops:
사실 제가 이런 경우를 많이 겪고(좀 덤벙거리는 편이라서ㅡㅡ) 해결하는데 시간이 오래 걸리는 것 같아 여러분들은 이런 경우에 어떻게 어떤 방법으로 헤쳐나가시는지 궁금해서 글을 올립니다.
Forums:
처음부터 한루틴씩 끈어서 확인하죠.자신이 코딩했으면 대충 짐작이
처음부터 한루틴씩 끈어서 확인하죠.
자신이 코딩했으면 대충 짐작이 가는 부분있자나요.
그부분이 아니라면 첨부터 끈어서 해보세요
전 단순 무식하게 중간에 출력하나 넣어주고 exit 해보죠.
그럼 어디까진 정상작동인가 알게되고요.
데몬같은 경우 잘 돌다가 줄을때가 있는데 거의 메모리 할당 부분에 문제가 있을거에요
저두 초보라 도움이 되셨는지 모르겠네요.
언제나 시작
Re: 프로그램 문제 해결 방법
저는 가끔씩 제가 짠 알고리즘을 제가 잘 이해 못해서 오류를 냅니다.
특히나 오랜만에 손을 댄 쪽이 그러지요. 주석 부재의 문제랄까요. :wink:
가끔은 오타로 인한 오류도 있을 수 있고...
제 경험으로는 그것에만 매달리면 잘 못찾겠더군요. 일단 제껴두고 다른 일
하다가 다시 들여다보면 '얼라리 이게 왜 이렇게 된거야~'하는 식으로 보이는
경우도 종종 있구요.
급한 경우는 윗분 얘기대로 중간중간 결과값을 확인하는 방법이 가장 확실하겠죠.
프로그램 흐름과 관련되어서는 저는 딱 세가지만 봅니다.1. ass
프로그램 흐름과 관련되어서는 저는 딱 세가지만 봅니다.
1. assert 잘썼나.
2. 함수 길이는 if, while nested 구문을 피하기 위해 적당히 잘랐나.
3. 모든 함수의 return 값은 적당히 처리되고 있나.
---
http://coolengineer.com
나랑 비슷하신 분이 계시네요... ㅡㅜ
단순 무식한 모터제어나 접점 제어만 하다 로직 덩어리에 파묻혀 버리니 그동안 굳게 믿고 있던 단단해 보였던 소스가 왜 이리도 허망하게 보이는지 ㅡㅜ
아직 시뮬레이션 단계이지만 하루에도 몇번이고 천당에서 지옥으로 오갑니다
역시 제작시 한줄 더 넣은 방어 로직이 디버깅시 하루 또는 일주일 이상의 값어치를 한다는것을 다시금 뼈저리게 느끼고 있습니다.
댓글 달기