/experimental:log(结构化 SARIF 诊断)

SARIF 诊断输出到指定的文件或目录。 有关详细信息,请参阅结构化 SARIF 诊断

语法

/experimental:log 文件名
/experimental:log directoryname\

参数

文件名

SARIF 诊断的输出文件。 编译器会自动将 .sarif 扩展名添加到 文件名/experimental:log 和文件名之间的空格是可选的。 对包含空格的路径使用双引号。 支持相对路径和绝对路径。

directoryname\

SARIF 诊断的输出目录(例如, /experimental:log sarif_output\)。 请记住添加尾部反斜杠 (\) 以指示它是目录。 每个源文件名称构成了保存在目录中的每个 SARIF 文件的基名称。 编译器会自动将 .sarif 扩展名添加到每个文件名。 和 /experimental:log 之间的空间是可选的。 对包含空格的路径使用双引号。 支持相对路径和绝对路径。

注解

此选项自 Visual Studio 2022 版本 17.8 起可用。

诊断结果也会像往常一样作为文本输出到控制台。

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性
  2. 选择要为其更改属性的特定项目配置和平台。 还可以选择“所有配置”和“所有平台”。
  3. 选择“配置属性”“C/C++”>“命令行”属性页>
  4. 修改“附加选项”属性,然后选择“确定”。

例子

以下命令生成用于编译 main.cpp 并将其保存在文件中 mySarifInfo.sarif的 SARIF 信息:

cl /experimental:log mySarifInfo main.cpp

以下命令生成整个编译的 SARIF 信息,并将其sarif_output保存在文件中main.sarif的目录中:other.sarif

cl /experimental:log sarif_output\ main.cpp other.cpp

另请参阅

结构化 SARIF 诊断