Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 未执行代码的Google v8内存泄漏_C++_Visual Studio 2008_Memory Leaks_V8 - Fatal编程技术网

C++ 未执行代码的Google v8内存泄漏

C++ 未执行代码的Google v8内存泄漏,c++,visual-studio-2008,memory-leaks,v8,C++,Visual Studio 2008,Memory Leaks,V8,我尝试使用Google V8库,但发现内存泄漏。 这些内存泄漏与以下非常小的代码一起出现: //I link with v8 in my project settings (Visual studio 2008 ) #include <v8.h> void test(){ // Never called v8::V8::Initialize(); } void main(){ exit (0); } //我在项目设置中链接v8(Visual studio 2008)

我尝试使用Google V8库,但发现内存泄漏。 这些内存泄漏与以下非常小的代码一起出现:

//I link with v8 in my project settings (Visual studio 2008 )
#include <v8.h>

void test(){ // Never called
   v8::V8::Initialize();
}

void main(){
   exit (0);
}
//我在项目设置中链接v8(Visual studio 2008)
#包括
void test(){//从未调用
v8::v8::Initialize();
}
void main(){
出口(0);
}
你有办法阻止内存泄漏吗


提前谢谢。

好的,现在我知道内存泄漏是误报。 如果我在应用程序中使用dll,你有没有办法隐藏这些泄漏? (我的应用程序必须始终启用内存泄漏检测) 那么,如何从精确的dll中隐藏内存泄漏呢


感谢您的大力帮助

您可以按中所述设置标志_CRTDBG_ALLOC_MEM_DF和_CRTDBG_LEAK_CHECK_DF和_crtsetdbg标志,并删除对_crtdumpmomeryleaks()的显式调用。一旦所有进程终止,将自动调用该标志

不幸的是,这并不能解决v8的问题(这就是我在这篇文章中所遇到的问题),但对于Qt应用程序,它确实解决了问题,我也在寻找完整的答案

出于某种原因,除了添加

_CRTSETDBG标志(_CRTDBG_ALLOC_MEM_DF|u CRTDBG_LEAK_CHECK_DF)

在main/WinMain的开始,我所做的只是打电话

v8::v8::Dispose()


在程序终止之前。

您如何知道内存泄漏?大多数时候,问这个问题的人要么不知道内存泄漏是什么,要么说内存泄漏是错的。你是说
exit(0)
?@john:我知道我有内存泄漏,因为我激活了visual studio的内存泄漏检测功能。VS显示此消息检测到内存泄漏!马克·加西亚:是的,我错了。Sorry@Hannibal所以您使用了
\u CrtDumpMemoryLeaks()?不幸的是,这并不能准确地检测内存泄漏。请详细描述您是如何检测到此内存泄漏的。请阅读此链接,听起来它与您的情况有关。@john:是的,我使用
\u CrtDumpMemoryLeaks()
为了检测内存泄漏,我遵循这一点,在我的cpp文件的顶部添加了这个
#ifdef#u DEBUG#define new#endif