Изменение на 64 бита не допускается при попытке редактирования в debug, почему?

StackOverflow https://stackoverflow.com/questions/206894

Вопрос

Я получаю это сообщение (см. Изображение ниже), когда пытаюсь отредактировать в режиме отладки.Это происходит только в моей операционной системе Vista64bits, а не на моем компьютере XP.Почему и что я должен делать?

Обновить Я обнаружил, что мне нужно скомпилировать в x86, чтобы иметь возможность изменять значение при отладке.Итак, мой вопрос в том, ПОЧЕМУ я не могу сделать это в x64?

альтернативный текст http://img183.imageshack.us/img183/8523/changetohe5.png

Это было полезно?

Решение

Нет никакой технической причины, это просто не реализовано.Согласно некоторым источникам, Microsoft хочет реализовать это к следующему выпуску CLR.

Видишь:http://blogs.msdn.com/stevejs/archive/2005/11/15/493018.aspx#499593

Другие советы

Майк Столл говорит:

EnC выполняет некоторые очень низкоуровневые действия которые довольно специфичны для операционной системы, и поэтому ограничение одной платформой было в первую очередь ограничением ресурсов.Будущие CLR, без сомнения, расширят это.Наши усилия по портированию также начались с нуля в версии V2, и поэтому все остальные службы отладки тоже пришлось портировать, так что у нас уже был очень большой элемент здесь.Кроме того, мы считаем, что самые масштабные сценарии для EnC будут вращаться вокруг приложений на чистом IL, которые позволят людям, по крайней мере, разрабатывать на x86.В таких случаях есть обходной путь:на 64-разрядной машине вы можете запустить приложение на чистом IL как 32-разрядное приложение в WOW, а затем выполнить EnC на нем.

Это все ограничения среды CLR, а не Visual Studio, что означает, что если сторонний отладчик добавит EnC, у них будут те же ограничения.Во всех случаях мы были довольны тем, что затраты на включение каждого случая были выше были потрачены на улучшение базовых сценариев сильнее.

Я меняю configuration manager.Он компилировался на любой процессор...и любой процессор был настроен на x64....Я сменил любой процессор на x86, и это работает.Итак, проблема решена...

Кто-нибудь может сказать мне, почему в X64 мы не можем редактировать в debug?(Я приму ответ на этот дополнительный вопрос, если он у кого-нибудь есть).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top