VSInstr 警告

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

警告编号

说明

VSP2000

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

VSP2001

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

当检测已签名的程序集时,会出现此警告。 可以使用 sn.exe 工具放弃二进制文件或暂时关闭强名称要求。 有关更多信息,请参见 Sn.exe(强名称工具)

VSP2002

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

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

VSP2003

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

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

VSP2004

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

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

VSP2005

内部检测错误 <error text>

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

VSP2006

未能找到 <名称> 的 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 函数

  • 已标记有 NonUserCodeAttribute 特性的托管方法

  • 已标记有 DebuggerHiddenAttribute 特性的托管方法

  • MASM 块

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

VSP2013

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

探查器修改二进制数,以便 64 位操作系统可以在 WOW64 仿真程序中打开 32 位进程。 对于库 (DLL),如果它们被加载到现有的 64 位进程中,这可能失败。 此警告将依赖项通知给用户。

VSP2014

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

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

请参见

参考

VSInstr