问题描述
我的代码中有一个未处理的异常,它压碎了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进程。 寻求帮助:)