Поток пытался читать или писать на виртуальный адрес, для которого он не имеет соответствующего доступа - PullRequest
3 голосов
/ 28 июля 2010

Я разработал расширение .NET 2.0, которое действует как плагин для стороннего приложения.Все работает нормально, когда работает на любом, кроме Citrix.При запуске через Citrix в качестве опубликованного приложения расширение случайным образом аварийно завершает работу, что также приводит к сбою стороннего приложения.

Я открыл файл дампа и обнаружил сообщение об исключительной ситуации, о котором сообщается:

Поток пытался читать или писать на виртуальный адрес, для которого у него нет соответствующего доступа.

Мне не очень повезло с Google.Приложение использует многопоточность, которая, как я подозреваю, там, где происходит выше, но где именно загадка.Если я запускаю расширение локально на сервере Citrix (то есть не как опубликованное приложение), то оно работает нормально.

Я не ожидаю ответа здесь (будет здорово, если кто-то это сделал!) Из-за общегохарактер проблемы, но если бы кто-нибудь мог указать мне, как помочь решить проблему или описать сообщение об ошибке, я был бы очень признателен.

Спасибо,

Роб

Ответы [ 2 ]

3 голосов
/ 30 июля 2010

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

  • Проверьте, есть ли у вас код unsafe в вашем добавочном номере. Код такого типа может обойти проверочные проверки, которые CLR обычно выполняет.
  • Проверьте, использует ли код вашего расширения какой-либо неуправляемый код (COM или P / Invoke). Ошибка может быть сгенерирована там.
  • Возможно, в .NET CLR есть ошибка, которая вызывает проблемы при запуске в среде Citrix.

Первое, что я хотел бы сделать, это проанализировать этот файл дампа, чтобы увидеть, в каком модуле произошла ошибка. Вы можете загрузить Средства отладки Windows , чтобы помочь в этом.

2 голосов
/ 19 мая 2012

Не знаю, поможет ли это.

Я получил такое же сообщение при открытии проекта с помощью Schneider Unity Pro. После утомительного и длительного процесса устранения проблема была изолирована с включенной политикой «Не хранить историю недавно открытых документов».

...