vld.ini配置文件说明
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Visual Leak Detector - 初始化/配置文件
;; 版权所有 (c) 2005-2017 VLD团队
;;
;; 本库是自由软件;你可以在自由软件基金会发布的GNU宽通用公共许可证的条款下
;; 重新分发它和/或修改它;无论是许可证的2.1版本,还是(由你选择的)任何后续版本。
;;
;; 本库分发的希望是它有用,
;; 但没有任何保证;甚至没有暗示的适销性或特定用途的适用性保证。有关更多详细信息,请参阅GNU宽通用公共许可证。
;;
;; 你应该已经收到一份GNU宽通用公共许可证的副本,随本库一起;如果没有,请写信给自由软件基金会,Inc.,51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
;;
;; 有关GNU宽通用公共许可证的完整条款,请参见COPYING.txt。
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 任何留空或未出现的选项将恢复为它们的默认值。
[Options]; 主开关。如果关闭,Visual Leak Detector将完全禁用。
; 它将什么都不做,只会向调试器打印一条消息,表明它已被关闭。
;
; 有效值:on(开),off(关)
; 默认值:on
;
VLD = on; 如果是yes(是),则不会单独显示重复的泄漏(那些相同的)。
; 只显示第一个这样的泄漏,以及一个数字,表明重复泄漏的总数。
;
; 有效值:yes(是),no(否)
; 默认值:no
;
AggregateDuplicates = no; 列出任何需要包括在内存泄漏检测中的额外模块。这可能对于检查第三方模块的调试构建中的内存泄漏很有用,
; 这些模块不能轻易地用'#include "vld.h"'重新构建。这个选项应该只在绝对必要且你确实知道你在做什么时使用。
;
; 警告:避免列出任何与发布版CRT库链接的模块。
; 只有与调试版CRT库链接的模块应该列在这里。
; 否则可能会导致虚假的内存泄漏报告或甚至崩溃。
;
; 有效值:包含模块名称的任何列表(即EXE或DLL的名称)
; 默认值:无。
;
ForceIncludeModules = ; 对于每个泄漏块显示的最大数据字节数。如果为零,那么数据转储将被完全抑制,并且只显示调用栈。
; 如果泄漏块非常大,并在内存泄漏报告中造成不必要的混乱,限制这个数字到一个低值可能会很有用。
;
; 值值:0 - 4294967295
; 默认值:256
;
MaxDataDump = ; 在泄漏检测期间追溯的最大调用栈帧数。
; 限制这个数字到一个低值可以减少内存泄漏检测所施加的CPU使用率开销,特别是当使用较慢的“安全”栈遍历方法时(见下面的StackWalkMethod)。
;
; 有效值:1 - 4294967295
; 默认值:64
;
MaxTraceFrames = 64; 设置生成的内存泄漏报告使用的编码类型。这个选项实际上只有在与将报告发送到文件结合使用时才有用。
; 将Unicode编码的报告发送到调试器是没有用的,因为调试器不能显示Unicode字符。如果泄漏块中包含的数据很可能包含Unicode文本,使用Unicode编码可能会很有用。
;
; 有效值:ascii(ASCII),unicode(Unicode)
; 默认值:ascii
;
ReportEncoding = ascii; 设置报告文件的目的地,如果启用了文件报告。可以指定相对路径,并认为是相对于进程的工作目录的。
;
; 有效值:任何有效的路径和文件名。
; 默认值:.\memory_leak_report.txt
;
ReportFile = .\memory_leak_report.txt; 设置报告目的地为文件、调试器或两者。如果启用了文件报告,报告将发送到由ReportFile选项指定的文件。
;
; 有效值:debugger(调试器),file(文件),both(两者)
; 默认值:debugger
;
ReportTo = both; 打开或关闭自测试模式,该模式用于验证VLD是否能够检测到自身的内存泄漏。
; 旨在用于调试VLD本身,而不是用于调试其他程序。
;
; 有效值:on(开),off(关)
; 默认值:off
;
SelfTest = off; 选择用于遍历栈以获取分配内存块的堆栈跟踪的方法。“fast”(快速)方法可能不总是能够成功地完全追溯所有调用栈。
; 在这种情况下,“safe”(安全)方法可能更可靠地获得完整的堆栈跟踪。缺点是“safe”方法比“fast”方法明显慢得多,并且可能会导致正在调试的程序性能显著下降。
;
; 有效值:fast(快速),safe(安全)
; 默认值:fast
;
StackWalkMethod = fast; 确定是否应该为所有线程最初启用内存泄漏检测,或者是否应该为所有线程最初禁用内存泄漏检测。如果设置为“yes”(是),
; 那么任何需要启用内存泄漏检测的线程将需要在某个时刻调用VLDEnable来为这些线程启用泄漏检测。
;
; 有效值:yes(是),no(否)
; 默认值:no
;
StartDisabled = no; 确定是否追踪所有帧,包括堆内部的帧。总会有一定数量的帧是Visual Leak Detector和C/C++或Win32堆API内部的,
; 这些通常对于确定泄漏的原因并不有用。通常在堆栈跟踪中跳过这些帧,这可以在一定程度上减少追踪所花费的时间以及收集和存储在内存中的数据量。
; 包括堆栈跟踪中的所有帧,一直到VLD自己的代码,对于调试VLD本身可能很有用。
;
; 有效值:yes(是),no(否)
; 默认值:no
;
TraceInternalFrames = no; 确定是否报告缺少HeapFree调用的内存泄漏。
;
; 有效值:yes(是),no(否)
; 默认值:no
;
SkipHeapFreeLeaks = no; 确定是否报告由crt启动代码生成的内存泄漏。这些不是实际的内存泄漏,因为它们在VLD对象被销毁后由crt释放了。
;
; 有效值:yes(是),no(否)
; 默认值:yes
;
SkipCrtStartupLeaks = yes