Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets XML解析库在Mac应用程序上崩溃,而在iOS上工作正常_Sockets_Crash_Cross Platform_Xml Parsing_Tinyxml - Fatal编程技术网

Sockets XML解析库在Mac应用程序上崩溃,而在iOS上工作正常

Sockets XML解析库在Mac应用程序上崩溃,而在iOS上工作正常,sockets,crash,cross-platform,xml-parsing,tinyxml,Sockets,Crash,Cross Platform,Xml Parsing,Tinyxml,我的项目中有一个关于xml解析的问题。我尝试了两个xml解析器库xmlParser和TinyXML,它们在相同的代码点出现了相同的错误。起初我认为这是xmlParser的一个bug,但在TinyXML上发现同样的错误后,我认为这一定是我代码的某个方面,或者我的理解。我不知道如何解决这个问题。让我详细谈谈 下面是我使用xmlParser截取的代码 XMLResults xe; printf("%s\n", xmlData); //<XML SUC='1'></XML> p

我的项目中有一个关于xml解析的问题。我尝试了两个xml解析器库xmlParser和TinyXML,它们在相同的代码点出现了相同的错误。起初我认为这是xmlParser的一个bug,但在TinyXML上发现同样的错误后,我认为这一定是我代码的某个方面,或者我的理解。我不知道如何解决这个问题。让我详细谈谈

下面是我使用xmlParser截取的代码

XMLResults xe;
printf("%s\n", xmlData);  //<XML SUC='1'></XML>
printf("Before parsing XML\n");
XMLNode xMainNode = XMLNode::parseString(xmlData, "XML", &xe);
printf("After parsing XML\n");
if(xe.error!=eXMLErrorNoXMLTagFound) {
    bool suc = (bool)atoi(xMainNode.getAttribute("SUC"));
}else {
    printf("non-xml data\n");
}
这是从“recvfrom”套接字接收的,我不知道,但它打印正确。 上面截取的代码是信号函数,假设它只在套接字接收xmlData时执行

它不是在第一个信号或第一次执行时崩溃,而是在那之后最终崩溃,需要3秒-10分钟


正如标题所示,这段代码在iOS上运行良好,但在Mac上会崩溃。

我需要释放或发布一些东西吗?错误不是来自那些库,但我认为是关于我使用的信号处理功能。在我改为选择而不是信号处理功能后,它现在可以正常工作了。
TiXmlDocument   xmlDoc;
printf("%s\n", xmlData);  //<XML SUC='1'></XML>
printf("Before parsing XML\n");
xmlDoc.Parse(xmlData, 0, TIXML_DEFAULT_ENCODING);
TiXmlElement    *xMainElem = xmlDoc.RootElement();
printf("After parsing XML\n");
<XML SUC='1'></XML>
Before parsing XML
//and then crash 
char xmlData[4096];