随笔分类 - vld
Visual Leak Detector
摘要:还是学习VLD2.X版本看到的:在Windows XP及之前的操作系统没有提供GetProcessIdOfThread的API,这里给出了一个替代的实现方式:头文件:#if _WIN32_WINNT < 0x0600 // Windows XP or earlier, no GetProcessId...
阅读全文
摘要:学习VLD2.0代码,看到如下函数:HMODULE GetCallingModule( UINT_PTR pCaller ){ HMODULE hModule = NULL; MEMORY_BASIC_INFORMATION mbi; if ( VirtualQuery((LPCVOID)pCall...
阅读全文
摘要:0X01 关闭FPO优化// Frame pointer omission (FPO) optimization should be turned off for this// entire file. The release VLD libs don't include FPO debug inf...
阅读全文
摘要:学习VLD1.0代码,发现Release版本的代码_DEBUG宏是已定义的,查找工程配置确只有NDEBUG宏的定义,不见_DEBUG的踪影。好吧,最后发现是由于工程Code Generation选项使用的Debug的RT库,其就相当于定义_DEBUG宏。呵呵~~~相当隐晦。
阅读全文
摘要:VC中,如果隐式链接的lib或dll未被引用,编译器并不会去生成加载该lib或dll的代码,从VLD1.0版本中看到可以通过如下方式强制引用:// Force a symbolic reference to the global VisualLeakDetector class object fro...
阅读全文
摘要:近期想学习下VLD的实现,打算从最简单的V1.0版本看起。以下是V1.0版本自己尝试翻译下,最新的2.x版本似乎强大了很多。简介 Visual C++提供了内置的内存检测机制,但其充其量只满足了最小定位需求。VLD工具定位为内置内存泄漏的替代,提供了如下特性:泄漏内存块的全调用栈回溯,包括文件及其...
阅读全文

浙公网安备 33010602011771号