Dr Memory интегрирован в визуальную студию 201x

Для простой программы, как показано ниже:

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Я получаю следующие ошибки.

     Dr. Memory version 1.6.1
     Running ""C:\Users\********\Documents\Visual Studio 2012\Projects\drmemory\Debug\drmemory.exe""

     Error #1: UNINITIALIZED READ: reading 4 byte(s)
     system call NtClose parameter value #0
         <system call>
     ntdll.dll!ZwClose  
         ??:0
     KERNELBASE.dll!ResumeThread  
         ??:0
     KERNELBASE.dll!CreateDirectoryA
         ??:0
     f_ah.dll!Proc2   
         ??:0
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0

     Error #2: UNINITIALIZED READ: reading 4 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_ah.dll!?       
         ??:0
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0

     Error #3: UNADDRESSABLE ACCESS: reading 4 byte(s)
     f_ah.dll!?       
         ??:0
     KERNELBASE.dll!SetFilePointer
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0
     ntdll.dll!LdrGetProcedureAddressEx
         ??:0
     ntdll.dll!LdrGetProcedureAddressEx
         ??:0
     ntdll.dll!RtlRunOnceBeginInitialize
         ??:0
     ntdll.dll!LdrGetProcedureAddressEx
         ??:0
     ntdll.dll!NtWriteFile
         ??:0
     KERNELBASE.dll!WriteFile     
         ??:0
     KERNELBASE.dll!WriteFile     
         ??:0
     KERNEL32.dll!GetSystemTime
         ??:0

     Error #4: UNINITIALIZED READ: reading 4 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ICATCDLL.dll!?           
         ??:0
     ntdll.dll!RtlReleaseRelativeName
         ??:0
     ntdll.dll!RtlRunOnceBeginInitialize
         ??:0
     ntdll.dll!RtlReleaseRelativeName
         ??:0
     ntdll.dll!RtlUnicodeStringToAnsiString
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0

     Error #5: UNINITIALIZED READ: reading register eax
     f_sps.DLL!DllUnregisterServer
         ??:0
     USER32.dll!IsWindow  
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ntdll.dll!ZwTestAlert
         ??:0

     Error #6: UNINITIALIZED READ: reading 4 byte(s)
     system call NtClose parameter value #0
         <system call>
     ntdll.dll!ZwClose  
         ??:0
     KERNELBASE.dll!ResumeThread  
         ??:0
     KERNELBASE.dll!CreateDirectoryA
         ??:0
     f_acc.dll!Proc3    
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0

     Error #7: UNINITIALIZED READ: reading 4 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     USER32.dll!IsWindow  
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0

     Error #8: UNINITIALIZED READ: reading 4 byte(s)
     NSCCOR03.dll!?           
         ??:0
     NSCCOR03.dll!?           
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlUnicodeStringToAnsiString
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0

     Error #9: UNINITIALIZED READ: reading 4 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlUnicodeStringToAnsiString
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0

     Error #10: UNINITIALIZED READ: reading 4 byte(s)
     ICATCDLL.dll!Ordinal1    
         ??:0
     ICATCDLL.dll!Ordinal1    
         ??:0
     ICATCDLL.dll!Ordinal1    
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlUnicodeStringToAnsiString
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0

     Error #11: UNINITIALIZED READ: reading 4 byte(s)
     ICDCNL.dll!?         
         ??:0
     ICDCNL.dll!?         
         ??:0
     ICDCNL.dll!?         
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlUnicodeStringToAnsiString
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     KERNELBASE.dll!GetVersionExA 
         ??:0
     f_sps.DLL!DllUnregisterServer
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0

     Error #12: UNINITIALIZED READ: reading 4 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ntdll.dll!ZwTestAlert
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0
     ntdll.dll!RtlImageDirectoryEntryToData
         ??:0
     ntdll.dll!LdrGetProcedureAddressEx
         ??:0
     ntdll.dll!LdrGetProcedureAddressEx
         ??:0
     ILT+110(_wmainCRTStartup)
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0

     Error #13: UNINITIALIZED READ: reading 1 byte(s)
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0
     PaperHK.dll!?          
         ??:0

     Error #14: LEAK 128 bytes 
     replace_malloc 
         d:\drmemory_package\common\alloc_replace.c(2292):
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ILT+110(_wmainCRTStartup)
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0

     Error #15: LEAK 260 bytes 
     replace_operator_new_nomatch
         d:\drmemory_package\common\alloc_replace.c(2544):
     f_ah.dll!Proc2   
         ??:0
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ILT+110(_wmainCRTStartup)
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0

     Error #16: LEAK 260 bytes 
     replace_operator_new_nomatch
         d:\drmemory_package\common\alloc_replace.c(2544):
     f_ah.dll!Proc2   
         ??:0
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ILT+110(_wmainCRTStartup)
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0

     Error #17: LEAK 260 bytes 
     replace_operator_new_nomatch
         d:\drmemory_package\common\alloc_replace.c(2544):
     f_ah.dll!Proc2   
         ??:0
     f_ah.dll!Proc2   
         ??:0
     ntdll.dll!wcsncmp  
         ??:0
     ntdll.dll!EtwEventRegister
         ??:0
     ntdll.dll!LdrUnlockLoaderLock
         ??:0
     ntdll.dll!LdrLoadDll
         ??:0
     NSCCOR03.dll!?           
         ??:0
     KERNEL32.dll!LoadLibraryW
         ??:0
     NSCCOR03.dll!?           
         ??:0
     ILT+110(_wmainCRTStartup)
         ??:0
     ntdll.dll!RtlInitializeExceptionChain
         ??:0

     ERRORS FOUND:
           1 unique,     1 total unaddressable access(es)
          12 unique,   456 total uninitialized access(es)
           0 unique,     0 total invalid heap argument(s)
           0 unique,     0 total GDI usage error(s)
           0 unique,     0 total warning(s)
           4 unique,     4 total,    908 byte(s) of leak(s)
           0 unique,     0 total,      0 byte(s) of possible leak(s)
     Details: C:\Users\******\AppData\Roaming\Dr. Memory\DrMemory-drmemory.exe.58248.000\results.txt

Я проверил его на трех разных компьютерах и могу воспроизвести проблему на всех компьютерах.

Я подозреваю, что проблема может быть с ntdll.dll, которая управляет памятью (?). Любая помощь / указатели в решении проблемы приветствуются.

-Satish

1 ответ

Решение

У вас есть много библиотек, не предоставляемых операционной системой: f_ah.dll, PaperHK.dll, f_sps.DLL, NSCCOR03.dll. Они не являются частью вашего приложения. Они предположительно происходят из другого программного обеспечения, которое вы установили на своем компьютере (кроме этого: довольно тревожно, что в это крошечное приложение вставлено столько библиотек: возможно, вы захотите выяснить, хотите ли вы, чтобы такое инвазивное программное обеспечение работало на вашем компьютере). Разработчики Dr. Memory никогда раньше не видели этих ошибок, потому что они будут возникать только на компьютере, на котором установлено именно это программное обеспечение.

Вы должны игнорировать все отчеты из этих библиотек, добавляя их пути к параметру Dr. Memory -lib_blacklist. Например, предполагая, что путь к f_ah.dll и f_sps.DLL равен c:\Program Files\foo\, а другим - c:\Program Files\bar\, вы можете запустить Dr. Memory с помощью следующей опции:

-lib_blacklist "c:\windows\syswow64\*.d??,c:\Program Files\foo\*.dll,c:\Program Files\bar\*.dll"

Доктор Память теперь будет скрывать любые сообщения об ошибках, чьи верхние 4 кадра находятся в одной из этих библиотек

Вы также можете отправить сообщение об ошибке в систему отслеживания проблем Dr. Memory с просьбой к разработчикам взглянуть на эти ошибки, поскольку они могут быть ложными срабатываниями. Предоставьте достаточно информации для воспроизведения (в частности, из каких приложений эти библиотеки).

Другие вопросы по тегам