泄漏检查程序告诉我内存中有内存泄漏,在以下代码中分配:
// Get the value from the object as a variant.
VARIANT vVal;
VariantInit ( &vVal );
hres = clsObj->Get ( fieldName.c_str(), 0, &vVal, 0, 0 );
if ( FAILED ( hres ) )
{
(... various cleanup / throw stuff ...)
}
// And get it as a wstring.
wstring val ( vVal.bstrVal );
(... do some standard, non-memory leaking stuff with the wstring ...)
// Clean up.
VariantClear ( &vVal );
Run Code Online (Sandbox Code Playgroud)
其中的"clsObj"是一个IWbemClassObject,它是WMI东西的Microsoft接口.
分配泄漏内存的特定行是"clsObj-> Get"行.然后泄漏检查器报告泄漏本身的更具体的代码(即,在分配泄漏的内存时的堆栈跟踪中),我没有源代码:
(ole32): (filename not available): …Run Code Online (Sandbox Code Playgroud)