2、通过MM代码查看分析,发现MM在解析xml文件后获取节点是出现了空指针,同时在引用Microsoft SDK\include\MsXml.h类库中方法时没有对异常进行捕获,最终导致MM宕机。具体出错代码如下:
try
{
//pRootNode->get_baseName(&tempValue);
hr = pRootNode->get_firstChild(&pLogItem);
if (FAILED(hr))
{
return retValue;
}
do
{
此时没有对pLogItem进行空指针判断,导致异常出现。
//hr = pLogItem->get_previousSibling(&pPreviousNode);
hr = pLogItem->get_nextSibling(&pMediaNextNode);
if (FAILED(hr))
{
return retValue;
}
……
catch(_com_error &e)
{
pRootNode->Release();
DumpComError(e);
sprintf(resultDescription,"list.xml has syntax errors.Please check list.xml file.");
return retValue;
}异常捕获不全面应该使用
catch(...)
{
}进行异常捕获
阅读(1865) | 评论(0) | 转发(0) |