<div>현재 작업중인일 : 제작된지 약 10년된 유지보수 맡은 프로그램</div> <div>당연하겠지만 해당 프로그램에 대한 문서 한장 남아있지 않은 상태.</div> <div>최악의 상황으로 원본소스코드조차 남아있지 않고</div> <div>컴파일된 파일만 있는 상태</div> <div>(기계어로 번역되어 있는 상태:예를들자면 기계가 알수있도록 파일내용이 0,1로 이루어진 파일)</div> <div>목표 : 해당 프로그램에서 오류를 내는 코드를 찾아 수정해야한다.</div> <div><br></div> <div>1. 오류가 나는 파일을 찾는다. => 어찌어찌 해당 코드가 심겨진 파일 찾음</div> <div>2. 해당 파일을 디컴파일 한다(기계어를 인간의 프로그램 언어로 번역)</div> <div>3. 디컴파일된 파일을 다시 컴파일 하고 프로그램을 구동해본다. => 만일 된다면 제대로 디컴파일 된것이므로 8번으로 이동.</div> <div>4. 당연히 프로그램이 안돌아간다 => 좌절...</div> <div>5. 디컴파일된 파일을 함수단위로 분석해서 안돌아가는 원인이 뭔지 찾아 수정한다. </div> <div>ex) 대체 이 함수는 뭔짓을 하려고 넣어놓은거지? OTL</div> <div>6. 수정된 파일을 다시 컴파일 한 뒤 프로그램을 구동해 보고 4~5를 반복한다.</div> <div>7. 드디어 프로그램이 제대로 돌아가는것을 확인한다.</div> <div>8. 최초의 목표인 오류를 내는 코드를 찾아 수정한다.</div> <div>9. 수정된 파일을 컴파일 한뒤 프로그램을 구동해 보고 마무리한다.</div> <div>10. 프로그램 내의 다른 기능이 안돌아간다. 2번으로 돌아가라. => 아까 그 쓸모없어보이는 함수가 이거인가?..</div> <div><br></div> <div>퇴근시켜주세요..ㅠㅠ 내일은 토요일이죠?</div>