如何找到使用 Microsoft.CodeCoverage 检测的程序的会话 ID?

问题描述 投票:0回答:1

我正在使用 Microsoft.CodeCoverage 收集 C++ 的代码覆盖率(来自模糊测试)。

由于如果检测的应用程序崩溃,覆盖率不会终止(这就是我标记模糊测试错误的方式),因此我需要转向服务器模式覆盖率收集。这意味着我需要一个会话 ID 来进行报道。

我正在使用

进行覆盖率检测
Microsoft.CodeCoverage.Console.exe instrument <my_program.exe> --session-id <session_string>

在此模式下,会话 ID 在检测时会内置到映像中,第二次检测尝试将失败,并显示:

Module was not instrumented. Reason: optimized_or_instrumented.

两个问题:

  1. 我可以提前确定程序是否已经被检测过吗?
  2. 如果是这样,我如何找到它已检测的会话 ID?
c++ visual-c++ code-coverage
1个回答
0
投票

1 - 检查程序是否已检测:您可以尝试再次运行检测命令。如果您收到一条错误消息,表明它已经检测完毕,那就证实了这一点。另一种方法是使用 dumpbin(来自 Visual Studio)等工具检查程序的二进制文件,以查找与覆盖率相关的信息。

2 - 查找会话 ID:没有直接命令可以从检测程序中获取会话 ID。您也许可以在覆盖率报告或日志中找到它。如果没有,您需要使用新的会话 ID 重新安装程序。

© www.soinside.com 2019 - 2024. All rights reserved.