Ошибка testhost.exe с исключением нарушения прав доступа

У меня есть необработанное исключение в моем коде, которое разрушает мой процесс testhost.exe и приводит к сбою моей сборки конвейера Azure (точно в рамках задачи VSTest).

Исключение: 0xC0000005: место чтения нарушения прав доступа 0xFFFFFFFFFFFFFFFF

Проанализировав файл дампа Crush, я обнаружил, что это исключение появляется, когда я пытаюсь сохранить свой PDF-документ в указанном потоке с помощью метода "save" класса "PdfManger", я использую библиотеку Select.Pdf.x64.

Для информации: я переношу свою сборку из сборок xaml в сборки конвейера azure с обновлением тестовой среды с MSTest до MSTestV2, я создаю свои проекты с помощью задачи MSBuild с конфигурацией "выпуск" и с "Любым процессором" в качестве платформа, для задачи "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], но безуспешно:( .

У кого-нибудь есть решение?

3 ответа

При переходе на mstest v1 все работает нормально, похоже, это связано с процессом QTAgent, потому что только mstest v1 запускает процесс QTAgent через процесс testhost. Спасибо за помощь:)

Ошибка testhost.exe с исключением нарушения прав доступа

Начиная с Visual Studio 2019 возникает проблема со знанием16.4.3.

Чтобы решить эту проблему, попробуйте обновить Visual Studio 2019 до последней версии.

Эта проблема в основном возникает, когда в синтаксисе используются неправильные классы объявлений или неправильный шаблон, что может привести к нарушению прав доступа.

Проблема:
testhost.exeпроисходит сбой с нарушением прав доступа, а веб-драйвер/браузер не запускается.

решение:
проверьте свои классы и метод объявления вызова функции и проверьте, правильно ли он совместим / соответствует вашемуtexthost.exeправила.

Другие вопросы по тегам