VSInstr 警告

更新:2007 年 11 月

下表列出了 VSInstr.exe 工具发出的警告。您可以使用 NOWARN 选项和警告编号,禁止显示警告。

警告编号

说明

VSP2000

内部错误。无法获取此可执行文件的模块文件名。

VSP2001

<assembly name> 是具有强名称的程序集。需要先对程序集进行重新签名,然后才能执行它。

当检测已签名的程序集时,会出现此警告。有关更多信息,请参见 了解检测数据值

VSP2002

未能在文件 <filename> 中找到函数 <funcname>

如果不能在指定的文件中找到某个函数,将出现此警告。

VSP2003

未能在文件 <filename> 中找到任何指向函数 <funcname> 的交叉跳转。

如果 VSInstr 无法使交叉跳转无效,将出现此警告。交叉跳转用于代码优化。

VSP2004

已通过 EXCLUDE 命令行开关排除了函数 <funcname>,但因为该函数包含交叉跳转,所以仍需要它。

如果使用 EXCLUDE 选项排除了该函数,但是在检测过程中需要该函数,将出现此警告。探查器将自动包含需要的函数。

VSP2005

内部检测错误 <error text>

如果不能执行检测,将发出此警告。检查错误文本,确定是否能更正它。

VSP2006

找不到 <name> 的 PDB

如果 PDB 文件不在搜索路径上,或与二进制文件不匹配,将出现此警告。

VSP2007

<filename> 不包含可检测的代码。

如果二进制文件中的函数全被排除了,或者如果指定的文件只包含资源,将发出此警告。

VSP2008

无法从 <name> 获取安全属性。错误代码为 <code>

如果用户没有 READ_DAC 权限,将出现此警告。在检测过程中,探查器试图保留二进制文件的原始 DACL。因为原始二进制文件被新的二进制文件替代,所以必须复制原始二进制文件的 DACL,并将其应用到新的二进制文件中。如果用户没有对原始二进制文件的 READ_DAC 访问权限,此操作将失败。

VSP2009

无法在 <name> 上设置安全属性。错误代码为 <error number>

如果用户没有 WRITE_DAC 权限,将出现此警告。在检测过程中,探查器试图保留二进制文件的原始 DACL。因为原始二进制文件被新的二进制文件替代,所以必须复制原始二进制文件的 DACL,并将其应用到新的二进制文件中。如果用户没有对新二进制文件的 WRITE_DAC 访问权限,此操作将失败。

VSP2010

由于 -INCLUDE/-EXCLUDE 选项,没有专门为检测选择任何函数

VSP2011

Include/Exclude funcspec <name> 与任何函数都不匹配

VSP2012

该映像中不包含任何可以检测代码覆盖率的代码。

探查器不检测下列类型的代码:

静态 CRT 函数

如果此筛选过后不留下任何代码,将生成此警告。

VSP2013

检测此映像要求此映像以 32 位进程的方式运行。 已更新 CLR 标头标志,以反映这一信息。

探查器修改二进制文件,使 64 位平台可以在 WOW64 中运行 32 位进程。对于库 (DLL),如果它们被加载到现有的 64 位进程中,这可能失败。此警告将依赖项通知给用户。

VSP2014

检测后得到的映像似乎无效,可能无法运行。

当最后检测的程序集有无效的 PE 标头时,将出现此消息。

请参见

参考

VSInstr