2012-03-03 2 views
0

winpcap을 사용하여 RAW 소켓을 보내는 프로그램을 작성하고 있습니다. 모든 것이 정상적으로 처리되었으며 패킷이 성공적으로 전송되었습니다. 보내는 동작이 끝나면하지만, 윈도우는 대화 상자가 말해 보여줍니다main 함수를 반환하면 예외가 발생합니다.

SendRawSocketsConsole.exe has stopped working 

및 세부 사항은 다음과 같습니다 내가 프로그램을 디버깅하고, 프로그램이 줄에서 마지막으로 중단 발견

Problem signature: 
    Problem Event Name: APPCRASH 
    Application Name: SendRawSocketsConsole.exe 
    Application Version: 0.0.0.0 
    Application Timestamp: 4f51de63 
    Fault Module Name: ntdll.dll 
    Fault Module Version: 6.1.7600.16915 
    Fault Module Timestamp: 4ec49caf 
    Exception Code: c0000005 
    Exception Offset: 00055401 
    OS Version: 6.1.7600.2.0.0.256.1 
    Locale ID: 2052 
    Additional Information 1: e8ad 
    Additional Information 2: e8adce1c2b9e7be834b4063ac3c53863 
    Additional Information 3: e8ad 
    Additional Information 4: e8adce1c2b9e7be834b4063ac3c53863 

Read our privacy statement online: 
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409 

If the online privacy statement is not available, please read our privacy statement offline: 
    C:\windows\system32\en-US\erofflps.txt 

() :

if (pHead == NULL) 
{ 
    *errno_tmp = ENOMEM; 
    RTCCALLBACK(_RTC_FuncCheckSet_hook,(1)); 
} 

dbgheap.c, 그리고 errno_temp의 값이 오류의 원인이 제로이며, 내가 오류가 발생할 수 있습니다 어떤 조건 몰라요, 난 012을 구축하려 debug 대신,하지만 여전히 실패했는데 아무나 아이디어를 줄 수 있습니까? 어떤 도움을 주셔서 감사합니다. 메신저 VS2008를 사용하고 Win7에 :)

+3

충돌합니다. 범위를 벗어나는 액세스 및 동적 메모리와 관련된 기타 오류에 대한 코드를 확인하십시오. – ComicSansMS

+0

답장을 보내 주셔서 감사합니다. 그러나 VC++ 6.0을 사용하여 프로그램을 컴파일 할 때 오류가 발생하지 않았습니다. 매우 이상한 @ComicSansMS – Searene

+1

이는 일반적인 오류입니다. 당신은 아마 VC6에서 운이 좋았고 중요한 데이터를 건드리지 않았다. 그것이 디버깅하기가 어려운 이유입니다. 숨어있는 곳을 결코 확신 할 수 없습니다. – ComicSansMS

답변

0

점은 다음과 같습니다 seudo = new unsigned char(sizeof(P_HDR) + strlen(dump));,해야이 일반적으로 프로그램의 어딘가에 메모리 손상의 어떤 표시 같은 seudo = new unsigned char[sizeof(P_HDR) + strlen(dump)];

+0

또한 감사합니다, @ ComicSansMS, 참으로 메모리 손상. – Searene

관련 문제