выполняя проверку памяти с помощью очистителя, он показывает ошибку IPR в следующем утверждении.
throw true;
В чем может быть проблема?
void Myfunc(char *p_trace_id,char *p_session_id,int &p_roam_flag)
{
try
{
int set_id=0;
if(0 == set_id)
throw true;
}
catch(bool p_return_value)
{
if(!p_return_value)
{
g_Log.log(DEBUG, p_trace_id ,"[%s] %s<Line: %d> ", p_session_id ,__FUNCTION__,__LINE__);
p_roam_flag = 0;
}
}
catch(...)
{
g_Log.log(DEBUG, p_trace_id ,"[%s] %s<Line: %d> ", p_session_id ,__FUNCTION__,__LINE__);
}
}
Согласно моему анализу, есть проблема в старая версия очищать. Но я использую последнюю версию.
Purify V7.0
Solaris V5.0
Задача ещё не решена.
Других решений пока нет …