JSON-SPIRIT:C++;重负载下的JSON解析器/生成器错误 我正在开发一个C++应用程序来处理事务,我使用JSON精神解析/生成JSON。 在我们尝试大量事务之前,它工作得非常好。当我查看日志时,问题似乎出在Json spirit库-->Boost中

JSON-SPIRIT:C++;重负载下的JSON解析器/生成器错误 我正在开发一个C++应用程序来处理事务,我使用JSON精神解析/生成JSON。 在我们尝试大量事务之前,它工作得非常好。当我查看日志时,问题似乎出在Json spirit库-->Boost中,c++,json,json-spirit,C++,Json,Json Spirit,有没有人遇到过同样的问题,可以给我们一些建议,因为我们已经走到了死胡同,我们正在考虑换一个json解析/生成器库 下面是核心错误日志的一个示例 std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string&g

有没有人遇到过同样的问题,可以给我们一些建议,因为我们已经走到了死胡同,我们正在考虑换一个json解析/生成器库 下面是核心错误日志的一个示例

std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_erase 
(this=this@entry=0x7f8aa1ffa540, __x=0x6d7269666e6f633c) at /usr/include/c++/4.7/bits/stl_tree.h:1082

0x000000000041af99 in std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_erase 
(this=0x7f8aa1ffa540, __x=0x7f8ab802d970) at /usr/include/c++/4.7/bits/stl_tree.h:1082

0x000000000041b025 in std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::~_Rb_tree (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/stl_tree.h:646

0x000000000043b9de in ~map (this=0x7f8aa1ffa540, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/stl_map.h:90**
std::\u Rb\u树::\u M\u擦除
(本=this@entry=0x7f8aa1ffa540,uuu x=0x6d7269666e6f633c)at/usr/include/c++/4.7/bits/stl_tree.h:1082
std:_Rb_树中的0x000000000041af99:_M_擦除
(this=0x7f8aa1ffa540,uuux=0x7f8ab802d970)at/usr/include/c++/4.7/bits/stl_tree.h:1082
0x000000000041b025位于/usr/include/c++/4.7/bits/stl_-tree::~\u-Rb_-tree(this=,\uu-in_-chrg=)处。h:646
0x000000000043b9de in~map(this=0x7f8aa1ffa540,u in_chrg=)位于/usr/include/c++/4.7/bits/stl_map.h:90**

您可以发布任何生成错误的代码吗?是多线程代码吗?最可能的解释是您有多个线程访问不受互斥锁保护的数据结构。我也有类似的问题。对我来说,如果按照文档建议启用BOOST_SPIRIT_THREADSAFE,就会出现这种情况。显然,没有BOOST_SPIRIT_THREADSAFE定义的json_SPIRIT无法保证任何线程安全。对我来说,它只是在没有任何负载的情况下直接崩溃。但是,如果您还没有启用BOOST\u SPIRIT\u THREADSAFE,它可能会解决您的问题-现在就开始执行:)