0
하게 I 후속 코드를 가지고 :OBJECT_IDENTIFIER_set_arcs는 응용 프로그램 충돌
LicMessage message;
int oid[] = { 1, 3, 6, 1, 4, 1, 9363, 1, 5, 0 };
int ret1 = OBJECT_IDENTIFIER_set_arcs(&message.getMsg()->lic_ModuleID, oid, sizeof(oid[0]), sizeof(oid)/sizeof(oid[0]));
LicMessage 클래스 :
LIC_Msg_t이 OBJECT_IDENTIFIER_t lic_ModuleID은이 asn1c에 의해 생성되는LicMessage::LicMessage() : licMsg(new LIC_Msg_t)
{
}
LIC_Msg_t* const LicMessage::getMsg() const
{
return licMsg.get();
}
std::auto_ptr<LIC_Msg_t> licMsg;
; 필드로.
그것은 glibc는이 빌드/테스트 // 테스트를 감지 어떤 이유로 * 실패 : 무료() : 잘못된 포인터를 : 0x0000003ccab8e018 * *
당신은 내가 잘못 걸 조언을 주시겠습니까?
LicMessage :: LicMessage() : licMsg ((LIC_Msg_t *) malloc (sizeof (LIC_Msg_t)))를 의미합니까? 도움이되지 않습니다 – w00drow
VALGRING을 사용하여 코드를 디버깅 해보십시오. 유용 할 수 있습니다. http://valgrind.org/ – goGud