10.9(화) 이론-1

from Study/System 2007/10/14 14:55 view 18167
1. ReadProcessMemory

 - 프로세스간의 독립성은 보장되지만 디버깅을 위해 함수를 제공한다.
 - ReadProcessMemory, WriteProcessMemory

 - int 3( 브레이크 포인트 ), TF 레지스터 1 로 세팅하면 CPU가 한줄 단위로 읽게 된다.
 - 코드영역을 읽어와서 보여줄 수도 있다.( MinDbg, DebugActiveProcess ) 실행중인 프로세스와 연결!!
 - CreateProcess( option에 DEBUG_ONLY_PROCESS ) 를 준다.
 - WaitForDebugEvent 를 하면 DEBUG_EVENT에 정보가 들어가게 된다.

2. 컴파일 모드

  - Win32 Debug : 개발시, 실행오류체크와 관련된 메크로나 함수가 컴파일 대상에 포함된다.
  - Win32Release : 완성된 프로그램 일 경우 이 모드로 놓고 컴파일 해줌으로써 디버그 모드에서 수행되던 매크로나 함수는 컴파일 대상에서 제외되므로 보다 최적화된 코드가 탄생된다.

  - ASSERT 매크로
    1) Debug에서만 수헹, ASSET(조건식) 0 or 1
    2) 조건식이 거짓일 경우 ASSERT라는 이름의 Dialog박스를 출력하여 오류정보를 보여준다.

  - VERIFY 매크로
    1) Debug 모드에만 수행되며 ASSERT 와 동일한 매크로 이다.

  - TRACE 매크로
    1) Debug모드에서만 수행된다. 형식은 printf와 동일하며 Output 창에 출력된다.

  - OutputDebugString () == TRACE 괄호안의 문자열을 출력한다.

  - Dump()
    1) 디버그 모드에서만 수행한다.
    2) 특정개체에 저장된 데이타의 모든 항목을 Output 스크린상으로 전부 출력할 수 있는 코드를 추가가능.
Tag | ,

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다