본문 바로가기

728x90
반응형

디버깅

(3)
IIS 서버 콤포넌트 만들기.. 몇년전에 몇번 만들어보고는 만들일이 없었는데, 최근에 ASP에서 호출하여 쓸 수 있도록 하는 콤포넌트를 만들게 되었다.. 오랜만에 새로 만들어 보려니 예전 소스를 봐도 기억도 안나고 삽질의 연속.. 아~ 이래서 기록을 남겨둬야 한다니깡.. 워드 프로세서 문서가 저장된 BLOB 필드를 읽어 웹브라우저에서 보여줄 수 있는 png 이미지 파일로 저장하는 기능을 하는 녀석이었는데, 다른 기능은 어렵지 않게 구현이 가능했는데 COM에 관련된 내용 때문에 삽질이 많았다.. 몇년전에 보고 책꽂이에 먼지만 쌓이던 책을 오랜만에 꺼내 찾기도 하고, 인터넷 검색도 하면서 찾은 내용들을 정리해보자.. VC++ 6.0 기준이라 좀 그렇긴 하다만.. 아래 내용의 개발환경은 VC++ 6.0 with SP6 and Platform..
Dr Watson을 기본 디버거로 사용하기.. 데스크탑 어플리케이션 개발시 잡기 힘든 버그 중 하나가 가끔씩 일어나는 크래쉬.. 언제 죽는다, 재현을 해보기 힘든 비정상 종료상황이 발생하는 경우는 죽는 상황을 어떻게 하면 재현할 수 있다는 정보를 수집하기가 상당히 어려운 부분이 있다.. 다행히 윈2000 이상의 윈도우 시스템에서는 Dr Watson 이라는 꽤 괜찮은 기본 디버거가 윈도우 시스템에 기본 탑재가 되어 있다.. 메트 피에트릭이 소개한 SEH 처리용 클래스를 활용하는 방법 보다는 훨씬 더 많은 디버깅 관련 자료를 제공해주는 덤프를 작성해 줄 수 있기 때문에 Dr Watson을 활용하는 방법이 좋다고 생각한다.. (SEH 처리용 클래스에 관련된 보다 더 많은 정보 참고) 실행시킨 모습은 위와 같은데, 로그파일과 크래쉬 덤프를 위와 같이 세팅한..
프로세스 메모리 읽어내기.. 국내 인터넷 뱅킹에 메모리 해킹이 적용되면 큰일이라는 이야기들이 나오던데.. 정말 그런 일들이 대규모로 일어난다면 속수무책인 금융사건이 발생할지도 모른다.. 하지만, 내가 걱정하고 있는다고 해서 상황이 바뀌는 것도 아니고, 이런 문제점을 해결하기 위한 난세의 영웅이 될 수 있는 것도 아니니 뒤로 미뤄두기로 하고.. 관심을 다른데로 돌려보자.. 어떻게 이런 것이 가능할까? 게임에서는 이미 많이 사용되던 기법이라고 하는데, 컴퓨터 상에서 실행되는 프로그램은 컴퓨터의 구조상 필연적으로 메모리에 올라가게 되어 있으며 이 메모리를 읽어내는 기술을 아는 사람에게는 그 어떤 데이터도 보호할 수 없는 상황인 것이 문제다.. 이를 위한 해결책은 논하는 것은 내 능력 밖의 일인 것 같고.. 메모리를 읽어내는 좋은 샘플이 ..

728x90
반응형