/**************************************************************
11 04월 07일
Loop와 Thread 생성, 디버거의 이벤트 별로 switch & case 문을 만드는 등
디버거의 틀을 만들기 시작함
코딩할때마다 엄청난 에러를 불러 오는 나 레오파덕은,
같은 실수를 반복하지 않기를 바라는 마음으로 에러들을 정리함
디버거의 틀을 만들기 시작함
코딩할때마다 엄청난 에러를 불러 오는 나 레오파덕은,
같은 실수를 반복하지 않기를 바라는 마음으로 에러들을 정리함
**************************************************************/
TCHAR *szCmdLine=L"leo.exe" =====> TCHAR szCmdLine[]=L"leo.exe"
Debuggee의 이름을 받아오는 변수인 szCmdLine 선언에서 코딩 실수
Debuggee의 이름을 받아오는 변수인 szCmdLine 선언에서 코딩 실수
**************************************************************/
/************************************************************** DEBUG_ONLY_THIS_PROCESS 플래그로 CreateProcess 함수를 사용해서 열었는데
Debuggee가 꼼짝도 안함
WaitForDebugEvent 를 사용하니 Debuggee가 진행 됬음 **************************************************************/
/************************************************************** WaitForDebugEvnet 로 DEBUG_EVENT 이벤트 받는데
이벤트는 DEBUG_EVNET.dwDebugEventCode 요기 안에 있음 **************************************************************/
/*#########################################################3 Thread의 Context에 접근하기 위해선 권한이 필요하더라
아래는 정의 되어 있는 ContextFlag와 그 주석들
DWORD ContextFlags; // // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is // set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT // included in CONTEXT_FULL. ############################################################*/
/************************************************************** DEBUG_ONLY_THIS_PROCESS 플래그로 CreateProcess 함수를 사용해서 열었는데
Debuggee가 꼼짝도 안함
WaitForDebugEvent 를 사용하니 Debuggee가 진행 됬음 **************************************************************/
/************************************************************** WaitForDebugEvnet 로 DEBUG_EVENT 이벤트 받는데
이벤트는 DEBUG_EVNET.dwDebugEventCode 요기 안에 있음 **************************************************************/
/*#########################################################3 Thread의 Context에 접근하기 위해선 권한이 필요하더라
아래는 정의 되어 있는 ContextFlag와 그 주석들
DWORD ContextFlags; // // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is // set in ContextFlags. Note that CONTEXT_DEBUG_REGISTERS is NOT // included in CONTEXT_FULL. ############################################################*/
/*################################################################
Debuggee.hThread = db_event.u.CreateThread.hThread; // 213 page
이런식으로 선언 되어 있음 -_-
CreateThread가 아니라 생성된 프로세스에 대한 Thread를 해야 하는데
아래 처럼 바꾸니 됬음
Debuggee.hThread = db_event.u.CreateProcessInfo.hThread;
아름다운 reg들이 제대로 나오기 시작함
Debuggee.context.ContextFlags = CONTEXT_ALL; //releated thread context
DWORD er = GetLastError();
GetThreadContext(Debuggee.hThread, &Debuggee.context);
위 소스 처럼 ContextFlags 설정해주고 GetThreadContext 함수로 context를 얻어 오려고하는데
0xCCCCCCCC 같은 쓰레기가 옴 -_-
GetLastError()로 확인해 보니 6번(핸들이 잘못되었습니다) 이 반환됨
그래서 핸들 Debuggee.hThread를 보니까
위 소스 처럼 ContextFlags 설정해주고 GetThreadContext 함수로 context를 얻어 오려고하는데
0xCCCCCCCC 같은 쓰레기가 옴 -_-
GetLastError()로 확인해 보니 6번(핸들이 잘못되었습니다) 이 반환됨
그래서 핸들 Debuggee.hThread를 보니까
Debuggee.hThread = db_event.u.CreateThread.hThread; // 213 page
이런식으로 선언 되어 있음 -_-
CreateThread가 아니라 생성된 프로세스에 대한 Thread를 해야 하는데
아래 처럼 바꾸니 됬음
Debuggee.hThread = db_event.u.CreateProcessInfo.hThread;
아름다운 reg들이 제대로 나오기 시작함
##################################################################*/
'컴터 때찌 > Error' 카테고리의 다른 글
[Error-Ubuntu] yum Error: Cannot find a valid baseurl for repo: base (0) | 2011.05.31 |
---|---|
[python] Try to replace "XXX" by b"XXX" if you are using Python 3.x (0) | 2011.04.19 |
[Error-Windows&VisualStudio] XP(SP3) + VS 2003 + WDK Build Error - 처리중 (0) | 2011.02.16 |
[Error-Ubuntu] mkdir: cannot create directory `Dir': No space left on device (0) | 2011.02.15 |
[Error-Excel] Excel 2000 외부 연결 끊기 (0) | 2011.02.14 |