바쁜 와중에 주말에 소스 분석 프로그램을 만들어 봤습니다.  기능은 별로 없는 데 시간은 많이 잡아 먹네요 ㅠ.ㅠ

  • 클래스의 메소드의 begin 뒤에 디버깅 코드를 삽입하는 프로그램입니다.
  • 소스를 분석 할 때, 단일 이벤트가 어떤 경로를 거치는 지 확인하고 싶을 때 사용합니다.
  • 디버깅 모드로 소스를 차근 차근 들어가다보면, 객체의 실행 코드가 아닌 추상화 래벨의 코드로 넘어가서 분석을 귀찮게 할 때도 사용합니다.
  • Config.pas에서 삽입 할 디버깅 코드와 유닛을 지정 할 수 있습니다.

저장소 위치: https://github.com/ryujt/ryulib4delphi/tree/master/Projects/InsertDebugCode


[실행 화면]


  • Execute 버턴을 클릭합니다.
  • 소스가 있는 폴더를 선택합니다.
  • 확인 버턴을 클릭합니다.
  • 선택 된 폴더 및 하위 폴더를 검색하여 모든 *.pas 파일에 디버깅 코드를 삽입합니다.
  • 테스트 케이스로 사용 된 코드가 있는 TestFile 이라는 폴더가 디폴트로 선택 됩니다.  확인 버턴을 클릭하면, 해당 소스가 어떻게 바뀌는 지 확인 하실 수가 있습니다.


주의!!

  • 복구 기능이 없습니다.  복사본을 이용하시거나 소스 버전 관리 프로그램을 이용하세요.
  • 코드 삽입에 대한 필터링은 Config.pas의 DebugCodeMethodBegin 함수에서 AMethodName을 참고하여 Result := '' 처럼 하시면 됩니다.
  • 일반 함수나, 인라인 함수 등은 무시합니다.
  • 컴파일러 지시자를 처리하지 않고 있기 때문에 컴파일러 지시자에 따라 파싱 에러가 발생 될 수 있습니다.  현재는 메소드 마지막에는 디버깅 코드를 삽입하지 않도록 코멘트 처리하였습니다.


저작자 표시 비영리 변경 금지
신고

Posted by 류종택


티스토리 툴바