디버깅 2

C#의 디버깅과 오류 처리

* 의미적 오류(semantic error) 또는 논리적 오류(logic error)   : 실행 자체에는 문제를 일으키지 않지만 응용 프로그램의 논리에는 해를 입히는 오류.* 디버깅(Debugging)   : 오류가 보고되었으면 언제 어떤 문제가 어떻게 일어나는지를 파악하고 원일을 해결하는 작업.1. Visual Studio 에서의 디버깅   1) 프로그램이 디버그 모드 하에서 실행되면, 사람이 작성한 코드 이상의 것이 내부적으로 진행된다. 디버그 필드는 응용 프로그램에 대한 심볼 정보를 유지하며, VS는 그러한 정보를 통해서 코드의 실행을 구체적으로 알아낸다.      2) 심볼 정보로 가능한 작업들 (프로젝트 컴파일한 후 Debug 디렉토리의 .pdb 파일에 저장된다.)      (1) 디버깅 정보..

코딩 먼저, 설계는 나중에 좋게 하자!

코딩을 먼저하고 설계를 나중에 좋게 하자니…. "도대체 소프트웨어 공학의 기초를 아는 사람이야?"라는 의문이 들지도 모르겠습니다. 그러나 소프트웨어 개발자라면 처음에 디자인을 완벽하다고 생각될 정도로 상세히 하고 코딩했다 할지라도 코딩을 한참 진행하고 있는 와중에 "아… 코드 정리를 한 번 해주어야 할 텐데… 처음부터 제대로 할 껄"하면서 후회하는 일이 한 두 번이 아닐 것입니다. 나중에는 손을 쓸 수 없는 지경에 이를 때까지 기능 추가와 수정만 계속하다가 스스로 코드에 문제가 있음을 시인하면서도 슬그머니 그대로 두고 다른 새로운 프로젝트를 할 수밖에 없었던 것이 현실이지요. 물론 처음부터 디자인이 훌륭했더라면 좋겠지만 실제 프로젝트에서 훌륭하고 정확한 디자인이 나올 때까지 기다리다가는 프로젝트가 물건너..