336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
릴리스 모드에서 디버깅을 하기 위해서라는

모듈이 죽을 당시 메모리에 올라와 있는 프로세스들의 메모리 위치가 필요 합니다

프로그램이 죽으면서 주소만 알려주고 죽기 때문입니다

아래와 같은 방법으로 현재 OS에 올라와 있는 주소를 확인 할수 있습니다

저는 MFC를 주력으로 쓰기 때문에 아래와 같이 코딩 하였습니다

기타를 API를 쓰신다면 CString을 LPCTSTR 등으로 변환 하셔서 쓰시기 바랍니다

이때 Microsoft SDK 필요 합니다 최신일 경우 그 안에 PSAPI.H, PSAPI.LIB가 있으실 거고

만약 PSAPI.H가 없으시다면 BugslayerUtil에 있는 PSAPI.H를 이용 하시기 바랍니다

void PrintModules(CString & pString)
{
    HMODULE hMods[1024];
    DWORD cbNeeded;
    unsigned int i;
 
    // Get a list of all the modules in this process.

    pString += "메모리 모듈 상태 \r\n\r\n";

    if(EnumProcessModules(GetCurrentProcess(), hMods,
        sizeof(hMods), &cbNeeded))
    {
        for (i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
        {
            TCHAR szModName[MAX_PATH];
            
            // Get the full path to the module's file.
            if (GetModuleFileNameEx(GetCurrentProcess(),
                hMods[i], szModName,
                sizeof(szModName) / sizeof(TCHAR)))
            {
                // Print the module name and handle value.
                CString strTemp;
                strTemp.Format("\t%s (0x%08X)\r\n",szModName, hMods[i]);
                //fprintf(fp , "\t%s (0x%08X)\r\n",szModName, hMods[i] );
                pString += strTemp;
            }
        }
    }

    pString += "\r\n\r\n";
}

+ Recent posts