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 스크린상으로 전부 출력할 수 있는 코드를 추가가능.
- 프로세스간의 독립성은 보장되지만 디버깅을 위해 함수를 제공한다.
- 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 스크린상으로 전부 출력할 수 있는 코드를 추가가능.