https://www.cnblogs.com/suanguade/ https://github.com/276793422
umdh 工具快查内存泄露。 umdh 工具和 gflags 工具都是 WinDBG 工具集里面的工具,去目录里面找就好,这个内存泄漏查询,只能支持正在执行的进程。
插桩库的编译
我为啥要弄 clamav 呢,因为这玩意就是个开源杀毒软件啊。
"D:\Debuggers.10\x86\symchk.exe" /id c:\MyApplication.dmp /s SRV*\\symbols_server\WinSymbols\*http://msdl.microsoft.com/download/symbols
"D:\Debuggers.10\x86\symchk.exe" /ie qq.exe /s SRV*\\symbols_server\WinSymbols\*http://msdl.microsoft.com/download/symbols
"D:\Debuggers.10\x86\symchk.exe" c:\windows\system32\user32.dll /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
"D:\Debuggers.10\x86\symchk.exe" /r c:\windows\system32\ /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
/**
* @brief 用于在局部区域短暂关闭 Wow64 下的文件重定向功能
*/
class WinFileWow64Guard {
public:
// Wow64DisableWow64FsRedirection 只对当前线程有效!
WinFileWow64Guard(BOOL bEnable = TRUE, BOOLEAN forceWow64FsEnableRedirection = FALSE)
: m_bEnable(bEnable)
, m_bWow64(FALSE)
, m_pVoidValue(NULL)
{
if (m_bEnable && WinCheckCureentProcessIsWow64Process(&m_bWow64) && m_bWow64)
{
// 每次用 m_pVoidValue,可以保证嵌套的情况下可用。
WinWow64DisableWow64FsRedirection(&m_pVoidValue);
if (forceWow64FsEnableRedirection) {
WinWow64EnableWow64FsRedirection(forceWow64FsEnableRedirection);
}
}
}
virtual ~WinFileWow64Guard()
{
if (m_bEnable && m_bWow64)
{
// 每次用 m_pVoidValue,可以保证嵌套的情况下可用。
WinWow64RevertWow64FsRedirection(m_pVoidValue);
}
}
private:
BOOL m_bEnable;
BOOL m_bWow64;
PVOID m_pVoidValue; // 每次用 m_pVoidValue,可以保证嵌套的情况下可用。
};