TinyXML中奇怪的user breakpoint錯誤?
代碼中使用了TinyXML庫,在使用過程中發(fā)現(xiàn)一個奇怪的問題,這個問題簡化描述如下:1、編寫一個lib,接口為:
{
TiXmlPrinter printer;
printer.SetIndent( "" );
doc.Accept( &printer );
}
2、編寫一個win32控制臺程序,調(diào)用這個接口:
{
TiXmlDocument doc;
doc.Parse( "<?xml version=\"1.0\" encoding=\"gb2312\" ?><xml>aaa</xml>" );
BuildXMLFile(doc);
return 0;
}

這個xml絕對沒有錯誤(有可能貼出格式不對,因此在這縮寫了),而且我如此調(diào)用并不出錯(或BuildXMLFile調(diào)用后打印也不出錯),只有在BuildXMLfile()內(nèi)部才彈出那個對話框。
{
TiXmlDocument doc;
doc.Parse( "<?xml version=\"1.0\" encoding=\"gb2312\" ?><xml>aaa</xml>" );
TiXmlPrinter printer;
printer.SetIndent( "" );
doc.Accept( &printer );
//BuildXMLFile(doc);
return 0;
}
一開始我很納悶:
首先,我并未對doc進行任何操作,只是一個doc.Accept()的操作,為什么在接口外調(diào)用就可以,在接口內(nèi)部調(diào)用卻不可以呢?而且,我在接口內(nèi)部生成的doc,accpet操作也并不出錯,真的很奇怪的一個問題,跟蹤調(diào)試發(fā)現(xiàn):

從堆棧中,我感覺發(fā)現(xiàn)了點問題,但是還不能確定是不是這個原因?qū)е隆R虼税l(fā)上來問問大家有沒有碰過這個問題,改如何解釋?
posted on 2008-09-23 10:50 浪跡天涯 閱讀(2831) 評論(12) 編輯 收藏 引用 所屬分類: C++