컴파일이 잘되었지만 시작시 충돌이 발생하여 InitInstance()에 도달하는 프로젝트에 문제가 있습니다. 내가 구조체에 문자열을 추가 한 후이 일이 : 나는 구조의 마지막 멤버를 추가 할 때구조체를 수정 한 후 앱이 손상 될 수 있습니다.
typedef struct
{
long nChannelIndex;
TCHAR szChannelName[32];
DWORD dwStartTime; // time_t
DWORD dwPlaytimeMs; // msecs
TCHAR szStepName[32];
TCHAR szFilename[MAX_PATH];
long nLenMs;
TCHAR szStepDescr[64];
DWORD dwSessionID;
TCHAR szLocationName[32];
long bInsertion;
BOOL nOrigin; // 0= local, 1= cuemaster,
TCHAR szList[32];
TCHAR szFSPath[MAX_PATH]; << THIS HERE IS THE PROBLEM
}REPORTDATA, *LPREPORTDATA;
문제는 시작되었다. 배열 크기를 더 작은 숫자 (예 : 12)로 줄이면 응용 프로그램이 정상적으로 작동합니다.
나는 chkstk.asm에서 충돌을 얻을 -이 코드 주위에 : 윈도우 7 얼티밋 64 비트에서 나는 32 비트 C를 컴파일하고
; Find next lower page and probe
cs20:
sub eax, _PAGESIZE_ ; decrease by PAGESIZE
test dword ptr [eax],eax ; probe page.
jmp short cs10
++ 응용 프로그램입니다. Msvc 2010.
내 코드를 디버깅하도록 요청하지 않습니다. 충돌을 유발 한 원인과 발생한 위치를 보여주는 코드 만 포함하면됩니다.
어떤 아이디어? 도움 주셔서 감사합니다.
로컬 변수로 이러한 구조의 큰 배열이 있습니까? –
게시 된 코드로 진단 할 수 없습니다. [SSCCE] (http://sscce.org)를 게시하십시오. * 매우 * 최소한,이 monstrocity를 사용하여/코드를 게시하십시오. –
SSCCE를 게시하는 것은 불가능합니다. 왜냐하면이 응용 프로그램은 괴상한 것입니다.최대 128 개 채널에서 상용 삽입을 처리 할 수있는 멀티 스레드 디지털 비디오 서버입니다. 그리고 이전에 말했듯이이 데이터에 액세스 할 수 없기 때문에 앱이 실행되는 즉시 충돌합니다. @ MarkRansom 아마 맞습니다. – aritosteles