Это немного сложная проблема для меня, чтобы отладить должным образом, потому что это не всегда происходит, и кажется ли это случайным случаем.Что я делаю, так это настраиваю пользователя несколько раз.Один «срок исполнения» и несколько «предупреждений».Когда эти времена проходят, они получают текст на указанный номер телефона.Обычно это работает, но в редких случаях я получаю необработанное исключение из easy.c, предоставляемого curl.
#undef curl_easy_getinfo
CURLcode curl_easy_getinfo(struct Curl_easy *data, CURLINFO info, ...)
{
va_list arg;
void *paramp;
CURLcode result;
va_start(arg, info);
paramp = va_arg(arg, void *);
result = Curl_getinfo(data, info, paramp);
va_end(arg);
return result;
}
Это происходит в строке "result = Curl_getinfo (data, info, paramp);»
Создано необработанное исключение: нарушение прав чтения. данные были 0x7E8DD8.Произошло
Я не уверен, почему возникает эта ошибка, и ее очень трудно проверить, так как она встречается настолько редко и непоследовательно даже при идентичных обстоятельствах.
Я сохранилcallstack, если это поможет, но мне было интересно, может ли кто-нибудь иметь общее представление о том, что может быть причиной этого, или есть какие-либо советы по отладке в противоречивой ситуации, подобной этой.
Schedule490.exe!getinfo_long(Curl_easy * data, CURLINFO info, long * param_longp) Line 152 C
Schedule490.exe!Curl_getinfo(Curl_easy * data, CURLINFO info, ...) Line 461 C
> Schedule490.exe!curl_easy_getinfo(Curl_easy * data, CURLINFO info, ...) Line 844 C
Schedule490.exe!twilio::Twilio::send_message(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,bool) C++
Schedule490.exe!Schedule::dateWarnAlert(struct tm,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) C++
Schedule490.exe!Schedule::nextUpdate(void) C++
Schedule490.exe!std::_Invoker_pmf_refwrap::_Call<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >(void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> &&) C++
Schedule490.exe!std::invoke<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >(void ( Schedule::*&&)(void),class std::reference_wrapper<class Schedule> &&) C++
Schedule490.exe!std::_LaunchPad<class std::unique_ptr<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >,struct std::default_delete<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> > > > >::_Execute<0,1>(class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> > &,struct std::integer_sequence<unsigned int,0,1>) C++
Schedule490.exe!std::_LaunchPad<class std::unique_ptr<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >,struct std::default_delete<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> > > > >::_Run(class std::_LaunchPad<class std::unique_ptr<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >,struct std::default_delete<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> > > > > *) C++
Schedule490.exe!std::_LaunchPad<class std::unique_ptr<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> >,struct std::default_delete<class std::tuple<void ( Schedule::*)(void),class std::reference_wrapper<class Schedule> > > > >::_Go(void) C++
Schedule490.exe!std::_Pad::_Call_func(void *) C++
Schedule490.exe!invoke_thread_procedure(unsigned int(__stdcall*)(void *) procedure, void * const context) Line 92 C++
Schedule490.exe!thread_start<unsigned int (__stdcall*)(void *)>(void * const parameter) Line 115 C++
kernel32.dll!@BaseThreadInitThunk@12() Unknown
ntdll.dll!__RtlUserThreadStart() Unknown
ntdll.dll!__RtlUserThreadStart@8() Unknown