我有一个64位的Visual Studio2010(单线程) C++ Windows应用程序,我试图将它与tcmalloc集成,但在使用我们的任何动态链接的dll时遇到了问题。我将tcmalloc链接为静态库。在应用程序开始使用我们共享的dll之前,tcmalloc工作得很好。我将该解决方案构建为64位调试应用程序。如果任何人有在这种情况下使用tcmalloc的经验,我将非常感谢您的反馈。这对我来说是个谜。是不是dll的内存模型问题(不同的堆??)?我不知道。在我看来,它们使用的是同一个堆。因此,无论出于什么原因,
我正在做的一个项目--特使代理--使用了Bazel和tcmalloc。我想将它配置为在编译调试和快速构建时使用tcmalloc的调试版本,并使用优化的版本进行优化构建。还有其他情况,例如,使用以下逻辑将命令行标志传递给bazel以完全关闭tcmalloc:
return select("tcmalloc_and_profiler"),我有PR out ()失败的持续集成,它将逻辑()
/script/server)时,我得到src/tcmalloc.cc:353]尝试释放无效指针或分段错误(取决于是在REE上运行还是在MRI上运行)。GDB输出对我来说没有多大意义:#5 0x00007ffff7ba9c88 in do_free_with_callback (ptr=0x64612d5c6c717379) a
(带有其他标志)之后,我在输出中看到以下内容:configure: WARNING: No tcmalloc support在查看了configure.in之后,我发现: AC_CHECK_LIB(tcmalloc,malloc,,AC_MSG_WARN([No tcmalloc support available.]))我已经安装了喷雾器