- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Valgrind 使用 mongocxx::instance inst{} 给我一个still reachable
记录;
==3014== 16,384 bytes in 1 blocks are still reachable in loss record 609 of 609
==3014== at 0x5374C20: realloc (vg_replace_malloc.c:662)
==3014== by 0x396046ACCE: CRYPTO_realloc (in /usr/lib64/libcrypto.so.1.0.1e)
==3014== by 0x39604E604D: lh_insert (in /usr/lib64/libcrypto.so.1.0.1e)
==3014== by 0x39604E87C8: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==3014== by 0x39604E814B: ??? (in /usr/lib64/libcrypto.so.1.0.1e)
==3014== by 0x396054C2FD: ERR_load_CMS_strings (in /usr/lib64/libcrypto.so.1.0.1e)
==3014== by 0x3963045A38: SSL_load_error_strings (in /usr/lib64/libssl.so.1.0.1e)
==3014== by 0x62BD653: ??? (in /usr/lib64/libmongoc-1.0.so.0.0.0)
==3014== by 0x62A2278: ??? (in /usr/lib64/libmongoc-1.0.so.0.0.0)
==3014== by 0x395BC0CE02: pthread_once (in /lib64/libpthread-2.12.so)
==3014== by 0x55ADDE5: std::unique_ptr<mongocxx::v_noabi::instance::impl, std::default_delete<mongocxx::v_noabi::instance::impl> > core::v1::make_unique<mongocxx::v_noabi::instance::impl, void, std::unique_ptr<mongocxx::v_noabi::logger, std::default_delete<mongocxx::v_noabi::logger> > >(std::unique_ptr<mongocxx::v_noabi::logger, std::default_delete<mongocxx::v_noabi::logger> >&&) (in /usr/lib64/libmongocxx.so.3.0.3)
==3014== by 0x55ADAEE: mongocxx::v_noabi::instance::instance(std::unique_ptr<mongocxx::v_noabi::logger, std::default_delete<mongocxx::v_noabi::logger> >) (in /usr/lib64/libmongocxx.so.3.0.3)
==3014== by 0x55ADCF4: mongocxx::v_noabi::instance::instance() (in /usr/lib64/libmongocxx.so.3.0.3)
==3014== by 0x4F6188: main (main.c:280)
我该如何摆脱它。我在 fork 之后但在创建任何线程之前声明实例。
最佳答案
我的建议是,在验证以下内容后,您为此写一个抑制:
mongocxx::instance
对象的 dtor 正在执行?mongoc_cleanup
?如果这两个都是真的,那么你的下一个问题是询问 libcrypto 是否真的在任何路径下释放了这个分配的数据。如果答案是肯定的,那么你的下一个问题就是问为什么它没有被调用。如果答案是否定的,那么你应该写一个抑制。
在这里写一个抑制可能是合适的,因为这几乎肯定是一次性分配,因此不会绑定(bind)到会导致无限内存增长的每个操作上下文。
另外,请注意内存实际上并没有泄漏——它仍然可以访问。
关于c++ - mongocxx::instance inst{} 内存泄漏;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46790473/
我想知道如何使用 mongocxx 3.1.3(Mongo C++ 驱动程序)执行这些命令: sh.enableSharding("YourDB") sh.shardCollection("YourD
我正在寻找 the mongocxx query exemples我不明白在这里使用 auto&& 而不是 auto& 有什么意义。 auto cursor = db["restaurants"].f
我在使用 mongodb c++ 驱动程序时遇到了一些问题。 我有以下代码并且运行良好: //bsoncxx::document::value doc-->It was defined properl
我试图在解析数据文件后将日期和时间插入到 mongocxx 中,我的实际日期时间是: 2007/12/01 00:00:00 即 2007 年 12 月 1 日午夜。我有这段代码: static bs
我正在通过 C++ API 将图像插入到 mongodb,如下所示: bsoncxx::document::value document = bsoncxx::builder::basic::m
在 mongocxx API 中,Collection.aggregate()需要一个管道对象才能运行 aggregate pipeline询问。这意味着使用 Pipeline 类构造查询。如:
司机和我有一些关于使用司机的问题。问题是我应该包含哪些头文件才能在我的项目中使用这个驱动程序?我见过这种包含文件 #include #include #include #include 和这种
我想知道 mongocxx 驱动程序 (c++) 中以下代码的等价物是什么? db.RadarPointsExl.find( { age: { $gt: 25, $lte: 50 }, {nam
我有一个查询来查找一个文档并更新我的集合中的一个文档。问题是,当我这样做时,文档被清空而不是更新。这是我的代码: auto collection = db["cities"]; bsoncxx::bu
我正在尝试在我的 C++ 示例代码中将 mongdb 与 mongocxx 驱动程序连接起来。我添加了附加包含、库和依赖项。当我构建它时,它显示以下错误。 这是完整的代码 #include "stda
我尝试使用 C++ Driver 3.1.2,代码仍然在客户端解构器中崩溃 MongoMgr.h #ifndef _MOMGODB_MANAGER_H_ #define _MOMGODB_MANAGE
Valgrind 使用 mongocxx::instance inst{} 给我一个still reachable 记录; ==3014== 16,384 bytes in 1 blocks are
以下是尝试使用带有项目查找选项的 mongo 查询的代码。 using bsoncxx::builder::stream::document; mongocxx::options::f
我目前正在尝试将一个 JSON 文件插入到我的 mongoDB 中。我已经看到这是通过过去使用 mongo::BSONObj 解决的......但这似乎不是一个选项,因为他们发布了用于 c++11 的
auto cursor = db["friend"].find({}); for (auto &&docView : cursor) { bsoncxx::builder::b
我正在尝试反向显示集合中的文档。在 shell 中,这可以通过使用以下命令来完成: db.testcollection.find().sort({$natural:-1}) 在文档中我找到了这个函数:
我正在使用以下代码查询一个集合: bsoncxx::stdx::optional query_result = collection.find_one(bsoncxx::builder::stream
我需要使用 GridFS 规范随机访问存储在 MongoDB 中的文件。看来 C++ 驱动程序 (mongocxx) 没有提供执行此操作的接口(interface)。我可以从 mongocxx::gr
我想使用 PIMPL 成语编写一个到 mongocxx 的接口(interface)。接口(interface)本身可以工作,但我对 mongocxx 内联命名空间做错了,因为编写测试不起作用。 这是
以下是我尝试使用 mongocxx 驱动程序查询 mongodb 的一段代码。 /*查找所有匹配过滤器的代码*/ mongocxx::cursor cursor = collection.find(
我是一名优秀的程序员,十分优秀!