purifier を使用してメモリ チェックを実行すると、次のステートメントで 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の古いバージョンには問題があります。しかし、私は最新バージョンを使用しています。
Purify V7.0
Solaris V5.0