콜백 함수를 임의로 호출하는 동안 세그먼트 화 오류로 프로그램이 중단됩니다. 코어를 분석 할 때 콜백 함수 주소는 0x20202020입니다. 프로그램이 신호 11, 세그먼트 오류로 종료되었습니다.콜백 함수를 호출하는 중 세그먼트 오류로 인해 프로그램이 중단됨
#0 0x20202020 in ??()
(gdb) bt
#0 0x20202020 in ??()
#1 0xf775a8cf in my_function (parm_p=0x9b88020) at ../src/mewz.c:1395
(mqheader_p->mqh_callback)(mqheader_p->mqh_cbarg);
mqh_callback = 0x20202020,
mqh_cbarg = 0x20202020,
이것은 무작위로 발생합니다. 0x20202020은 콜백 함수의 유효한 주소가 아니라이 콜백 함수 주소가 무작위로 잘못된 주소를 가리키는 이유를 알고 있습니다. 모든 단서?
이 질문에 프로그램을 쓰는 언어로이 질문을 붙이십시오. – chucksmash
mqheader_p 변수가 초기화되지 않았거나 일부 stringpointer 값으로 덮어 썼습니다. – wildplasser
코드는 "C"언어로 작성되었습니다. (mqheader_p-> mqh_callback)은 콜백 함수 포인터입니다. –