Подтвердить что ты не робот

Ошибка в ошибке CoCreate Profiler - но не с использованием профилировщика

Мы получаем:

.NET Runtime версии 2.0.50727.5448 - Не удалось создать профайлер CoCreate

в средстве просмотра событий на нашем веб-сервере вместе с сопроводительным:

.NET Runtime version 4.0.30319.239 - Загрузка профайлера не удалось во время CoCreateInstance. Профилировщик CLSID: '{d37a1b78-6dc5-46fc-bc31-f7c4d5a11c9c}'. HRESULT: 0x8007007e. Идентификатор процесса (десятичный): 224. Идентификатор сообщения: [0x2504].

Дело в том, что мы не пытаемся использовать профилировщик, на сервере не запущен или установлен профайлер, и код не ссылается ни на какие профайлы...

Мы попытались удалить ключи реестра, которые другие указали, связаны с этими сообщениями, но безрезультатно; казалось бы, что два наших веб-сайта/веб-приложения вызывают ошибку: один использует .Net2, а другой - 4, но я не уверен, где искать.

4b9b3361

Ответ 1

После долгих поисков я обнаружил, что кто-то ранее установил dotTrace, а затем удалил его, однако удаление было не очень чистым и оставило реестр завален записью, хотя мы удалили некоторые записи, которые, как мы думали, могли остановить проблему там были более конкретными для этого профилировщика.

После удаления всех записей реестра, связанных с dottrace и CSID, которые были представлены, мы больше не видим ошибки в средстве просмотра событий.

См. этот ответ для script, чтобы помочь в поиске таких записей: fooobar.com/questions/200148/...

Ответ 2

Удаление переменной среды COR_ENABLE_PROFILING (или ее значение 0) из пользовательских переменных (панель управления > системa > расширенные системные настройки > переменные среды) решила мою проблему (не удалось запустить MongoVUE)

Ответ 3

При удалении всех ссылок на CLISID профилировщика в реестре не может быть плохо, вы также можете просто отключить профилирование, установив раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\COR_ENABLE_PROFILING на 0

Ответ 4

Чтобы найти, где этот инструмент может быть использован, приведенный ниже код PowerShell может использоваться для обнаружения переменных среды и записей реестра, относящихся к профилировщику:

clear-host
if (-not (get-psdrive HKU)) {
    New-PSDrive HKU Registry HKEY_USERS
    Set-Location HKU:
}
"COR_ENABLE_PROFILING: $env:COR_ENABLE_PROFILING "
"COR_PROFILER: $env:COR_PROFILER"
$GUID = $env:COR_PROFILER
@(
    "HKLM:\Software\Classes\CLSID\$GUID",
    "HKLM:\SOFTWARE\Classes\Wow6432Node\CLSID\$GUID",
    "HKLM:\SOFTWARE\Wow6432Node\Classes\CLSID\$GUID",
    "HKU:\*\Software\Classes\CLSID\$GUID"
) |
    get-item  | 
    %{$p = $_.Name;Get-ItemProperty $_.PSPath ''} | 
    select @{N='Path';E={$p}}, '(default)'

get-itemproperty 'HKLM:\SYSTEM\CurrentControlSet\Services\*\' 'Environment' -ea SilentlyContinue | 
    %{
        $serviceName = $_.PSChildName
        $x = new-object PSObject -Property @{ServiceName=$serviceName}
        $_ | select -expand Environment | 
            %{if($_ -match '^(?<Name>[^=]+)(=)?(?<Value>.*)$'){$x | Add-Member -MemberType NoteProperty -Name $matches['Name'] -Value $matches['Value']}}
        $x
    } |
    ?{$_.COR_ENABLE_PROFILING -eq 1} | 
    ft ServiceName, COR_ENABLE_PROFILING, COR_PROFILER, NEWRELIC_INSTALL_PATH -AutoSize

Надеюсь, что это поможет другим в будущем.

Ответ 5

regedit

  • Использование regedit выполняет поиск данных для значения CLSID в журнале ошибок
  • Удалить COR_PROFILER и его значение
  • Изменить Cor_Enable_Profiling = 1 на Cor_Enable_Profiling = 0
  • Не удаляйте параметр Cor_Enable_Profiling для следующих
  • HKEY_LOCAL_MACHINE\SYSTEM\Services WAS\
  • HKEY_LOCAL_MACHINE\SYSTEM\Services\W3SVC
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMI N
  • это может привести к сбою IIS. Подробнее см. Ниже. https://serverfault.com/questions/210903/windows-process-activation-service-wont-start-parameter-is-incorrect-visual/210912
  • Вам также может потребоваться удалить/отключить дополнительные переменные пользователя и системы. Попробуйте отключить сначала (COR_ENABLE_PROFILING = 0), если ошибка сохраняется. Надеюсь, это поможет. Спасибо @Andreas и @Mike-Monkey за начальное руководство.

Переменные среды

Ответ 6

Для нас COR_ENABLE_PROFILING был в нескольких местах

HKEY_LOCAL_MACHINE\SYSTEM\\Сервисы\W3SVC и HKEY_LOCAL_MACHINE\SYSTEM\\Сервисы\WAS

Ответ 7

Stackify Profiler Будет также делать то же самое с вами.:(, мне трудно удалить из реестра.