亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3865 | 回復(fù): 3
打印 上一主題 下一主題

[函數(shù)] TiXmlDocument 棧上對(duì)象析構(gòu)問題 [復(fù)制鏈接]

論壇徽章:
5
戌狗
日期:2014-06-09 10:29:10酉雞
日期:2014-12-01 16:05:27處女座
日期:2015-01-07 18:35:262015亞冠之水原三星
日期:2015-06-03 09:26:222015亞冠之布里斯班獅吼
日期:2015-06-15 10:53:54
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-05-25 17:42 |只看該作者 |倒序?yàn)g覽
問題背景:在棧上創(chuàng)建了一個(gè)TiXmlDocument對(duì)象,運(yùn)行了報(bào)錯(cuò): *** glibc detected *** ./exe_name: free(): invalid pointer: 0x00000000006ab128 ***
              但是將在棧上創(chuàng)建對(duì)象改為在堆上創(chuàng)建,用完后delete就沒有這個(gè)問題。
              或者將這個(gè)對(duì)象聲明為static(程序執(zhí)行過程中不執(zhí)行析構(gòu)),也是沒有這個(gè)問題

我是將TiXmlDocument封裝在一個(gè)類中,相關(guān)偽代碼如下:
class A
{
private:
    //TiXmlDocument *m_doc;
    TiXmlDocument m_doc;
}

A::func()
{
    //m_doc = new TiXmlDocument ();
    //m_doc->LoadFile(strConfigFile);

    m_doc.LoadFile(strConfigFile);
    //...get some date
}
init()
{
    A a;
    a.func();
}
main()
{
    init();
}

報(bào)錯(cuò)時(shí)堆棧信息如下:
  1. Program terminated with signal 6, Aborted.
  2. #0  0x0000003ce4a30265 in raise () from /lib64/libc.so.6
  3. (gdb) bt
  4. #0  0x0000003ce4a30265 in raise () from /lib64/libc.so.6
  5. #1  0x0000003ce4a31d10 in abort () from /lib64/libc.so.6
  6. #2  0x0000003ce4a6a9bb in __libc_message () from /lib64/libc.so.6
  7. #3  0x0000003ce4a7247f in _int_free () from /lib64/libc.so.6
  8. #4  0x0000003ce4a728db in free () from /lib64/libc.so.6
  9. #5  0x00002b434875dc43 in _M_dispose (this=<value optimized out>, __in_chrg=<value optimized out>)
  10.     at /opt/gccsrc/gcc-4.6.3/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:235
  11. #6  std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=<value optimized out>, __in_chrg=<value optimized out>)
  12.     at /opt/gccsrc/gcc-4.6.3/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:534
  13. #7  0x000000000040c7e4 in TiXmlDocument::~TiXmlDocument (this=0x7fff1c90b248, __in_chrg=<value optimized out>) at ../../xml/include/tinyxml.h:1409
  14. #8  0x000000000040b370 in Config::~Config (this=0x7fff1c90b200, __in_chrg=<value optimized out>) at config.cc:10
  15. #9  0x0000000000406c97 in InitFromConfig (workpath=0x7fff1c90bb8d "/opt//src/../data") at main.cc:138
  16. #10 0x0000000000406d04 in Init (argc=4, argv=0x7fff1c90b4f8) at main.cc:153
  17. #11 0x0000000000406ee3 in main (argc=4, argv=0x7fff1c90b4f8) at main.cc:72
復(fù)制代碼
求指教,多謝

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2016-05-25 22:52 |只看該作者
珍惜生命,遠(yuǎn)離TinyXML,還是換用pugixml吧,

論壇徽章:
5
戌狗
日期:2014-06-09 10:29:10酉雞
日期:2014-12-01 16:05:27處女座
日期:2015-01-07 18:35:262015亞冠之水原三星
日期:2015-06-03 09:26:222015亞冠之布里斯班獅吼
日期:2015-06-15 10:53:54
3 [報(bào)告]
發(fā)表于 2016-05-26 09:58 |只看該作者
回復(fù) 2# drangon


    .。。。。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2016-05-28 22:56 |只看該作者
TINYXML 析構(gòu)是這樣的

m_doc.clear()  //在對(duì)象析構(gòu)之前一定要調(diào)用這個(gè).
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP