Visual Studio постоянно падает на веб-проектах - PullRequest
2 голосов
/ 17 декабря 2010


У меня установлена ​​новая VS2010 на компьютере с Win2008R2.
Я начал получать эту ошибку при отладке проекта службы WCF:

"Попытка чтения или записи защищена объем памяти. Это часто является показателем эта другая память повреждена. "

Когда я начал разрабатывать веб-сайт неделю спустя, это стало непротиворечивым - я не могу отладить его. Дамп стека читает:

в Microsoft.VisualStudio.WebHost.Host.ProcessRequest (Connection конн) в Microsoft.VisualStudio.WebHost.Server.OnSocketAccept (Объект приняты System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (Объект состояние) в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, ContextCallback обратный вызов, состояние объекта, логическое значение ignoreSyncCtx) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () в System.Threading.ThreadPoolWorkQueue.Dispatch () в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback ()

Я попытался выполнить поиск в Интернете, и некоторые рекомендуют отключить «Подавить JIT-оптимизацию» в параметрах отладки - похоже, это не имеет значения.

Очевидно, что проблема со встроенным веб-сервером. Но я делаю что-то не так? Есть ли что-то, что я могу сделать? Или это известная ошибка?

Спасибо за ваше время,

Guy

Обновление 12/31 : Сегодня я попытался использовать CassiniDev вместо оригинального VS2010 WebServer - точно такой же результат. Я подозреваю, что существует некоторый внутренний конфликт между VS2010, Windows Server 2008R2 и, возможно, тот факт, что это 64-битная ОС. Я переключился на использование IIS в качестве моего сервера отладки - и это, кажется, работает, с некоторыми раздражающими побочными эффектами.

Мой вывод : не используйте 64-битную серверную систему в качестве своего компьютера разработчика. Разрабатывать на 32-битных - развертывать на 64-битных

Побочное заключение : есть некоторые сценарии, которые Microsoft QA не тестирует.

Ответы [ 3 ]

2 голосов
/ 24 декабря 2010

Ну, вот грустная правда, и я проверил это с кем-то, кто работает на Microsoft, с этими же технологиями. Я только что вызвал какую-то ошибку Кассини. Он предложил мне попробовать установить бета-версию VS2010 SP1 (что я не могу сделать, так как мой код должен быть в производстве). Другим его предложением было попробовать IIS Express . MS пытается перевести людей на IIS Express и предоставляет их как часть своего установщика веб-платформы - поэтому понятно, что они не будут тратить слишком много времени на устранение ошибок Cassini.

Поскольку я использовал сервер 2008, я просто добавил IIS (занимает меньше минуты), создал виртуальный каталог (страница проекта VS позволяет вам сделать это одним нажатием кнопки), и теперь я успешно отлаживаю IIS. Не тот результат, которого я хотел, но вы не всегда можете получить то, что хотите :) 1005 *

0 голосов
/ 20 декабря 2010

Мое внимание привлекают Win2008R2 и Cassini.

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

Возможно ли, что ваш компьютер Win2008R2 заблокирован больше, чем ваш средний компьютер разработчика (средний компьютер разработчика XP / Vista / Win7 и т.д.).

Возможно, Cassini при запуске под вашей учетной записью на Win2008R2 не имеет достаточных разрешений, чтобы делать свое дело. Возможно, он не может открыть порты? Но я не думаю, что проблема с портом вызовет сбой. Или, возможно, у него нет доступа к нужным временным каталогам?

Возможно, вашей учетной записи отказано в разрешении на отладку в локальной политике безопасности? Но я не администратор, поэтому я не уверен в этом.

Возможно, попробуйте запустить Visual Studio с правами администратора (просто помогите вам разобраться в проблеме).

Или, возможно, попробуйте запустить свой сайт без отладки, чтобы определить, является ли это какой-то проблемой с разрешениями в процессах отладки.

Я сталкивался с этим, это давным-давно говорит о Windows 7 и Cassini. http://msmvps.com/blogs/rfennell/archive/2009/01/24/problem-hosting-wcf-using-cassini-on-windows-7.aspx Но, возможно, это не исправлено.

0 голосов
/ 20 декабря 2010

Установка .Net Framework 3.5 исправила эту проблему для меня.

Надеюсь, это поможет!Извините, я не могу предложить какой-либо дополнительной информации о том, что именно не так с Кассини, но я подозреваю, что в ней отсутствовала библиотека или две.

====

Обновление: похоже напомогли (больше не вылетает при первом запросе), но при дальнейшем использовании я наткнулся на другое место, где возникает та же ошибка.)

====

Обновление: Итеперь я не могу его воссоздать.Желаем удачи, и если вы обнаружите больше, пожалуйста, напишите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...