带有访问冲突异常的testhost.exe暗恋

问题描述

我的代码中有一个未处理的异常,它压碎了testhost.exe进程,并使我的蔚蓝管道构建失败(恰好在VSTest任务中)。

异常:0xC0000005:访问冲突读取位置0xFFFFFFFFFFFFFFFF

在分析了Crush的转储文件后,我发现当我尝试使用“ Pdfmanger”类的“ save”方法将pdf文档保存在指定的流中时,出现此异常,我使用的是Select.Pdf。 x64库。

有关信息: 通过将测试框架从MSTest升级到MSTestV2,我将我的构建从xaml构建迁移到了Azure管道构建,我正在使用MSBuild任务以“发布”配置和“任何cpu”作为平台来构建我的项目, “ VSTest”任务我正在使用“ x64”作为构建平台,“发布”作为配置,MSTest.TestAdapter.2.1.1作为测试适配器,我正在使用VS 2019,这是运行设置文件:>


<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <runconfiguration> 
    <MaxcpuCount>0</MaxcpuCount>
    <ResultsDirectory>.\TestResults</ResultsDirectory>
    <TargetPlatform>x64</TargetPlatform>
    <TargetFrameworkVersion>.NETFramework,Version=v4.7.2</TargetFrameworkVersion>
    <disableParallelization>false</disableParallelization> 
  </runconfiguration>
  <MSTest>
    <TestTimeout>360000</TestTimeout>
    <Parallelize>
      <Workers>10</Workers>
      <Scope>MethodLevel</Scope>
    </Parallelize>
  </MSTest>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="blame" enabled="True">
        <Configuration>
          <ResultsDirectory>.\TestResults</ResultsDirectory>
          <CollectDump />
          <CollectDump />
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
  <LoggerRunSettings>
    <Loggers>
      <Logger friendlyName="blame" enabled="True" />
    </Loggers>
  </LoggerRunSettings>
</RunSettings>

--------------------------------------------------------------------------------------------------

我尝试使用装饰器“ [HandleProcessCorruptedStateExceptions,SecurityCritical]装饰负责异常的方法来捕获异常,但未成功:(。

有人解决吗?

解决方法

testhost.exe崩溃并出现访问冲突异常

从Visual Studio 2019 16.4.3开始有一个know issue

要解决此问题,请尝试将Visual Studio 2019更新到最新版本。

,

降级到mstest v1一切正常,这似乎与QTAgent进程有关,因为只有mstest v1通过testhost进程启动QTAgent进程。 寻求帮助:)