gcc 4.4.3 c89malloc char 배열에 액세스하는 스택 덤프
다음 소스 코드가 있습니다. 그리고 printf에서 스택 덤프를 얻는다.
char **devices;
devices = malloc(10 * sizeof(char*));
strcpy(devices[0], "smxxxx1");
printf("[ %s ]\n", devices[0]); /* Stack dump trying to print */
나는이 같은 문자 배열을 만들어야한다고 생각하고 있습니다.
devices[0]
devices[1]
devices[2]
devices[4]
etc
그리고 각 요소에 내 문자열을 저장할 수 있습니다. 당신은 포인터 (장치)를위한 공간을 할당하지만 한 ===
for(i = 0; i < 10; i++)
{
devices[i] = malloc(strlen("smxxxx1")+1);
}
몇 가지 거의 동일한 답변을 유발하는 질문에 대한 명성. – sum1stolemyname
스택 덤프 또는 코어 덤프? –
@Matt Curtis : gcc에서 생성 한 프로그램 중 Win32 용 스택 덤프 생성 프로그램이 몇 가지 유형의 오류가있을 때 실행 된 DOS 상자를 기억합니다. 비록 현재의 설정에서 그렇게하지 않는 것 같습니다 (mingw, vista, x86-32). – nategoose