AccessViolationException in managed code

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

AccessViolationException in managed code

Сообщение ANDLL » 13.08.2008 (Ср) 20:59

Согласно http://msdn.microsoft.com/en-us/library ... ption.aspx:
In programs consisting entirely of verifiable managed code, all references are either valid or null, and access violations are impossible. An AccessViolationException occurs only when verifiable managed code interacts with unmanaged code or with unsafe managed code.
Насколько я понимаю, суть фразы можно свести к "В полностью управляемом коде AccessViolationException быть не может."
Однако вот такой код является и verifiable и managed и safe, но тем не менее вызывает обозначенный exception.
Код: Выделить всё
.assembly ILT
{
}
.class ILT
{
.method public static void  Main() cil managed
{
  .entrypoint
  ldftn void ILT::Main()
  call void [mscorlib]System.Console::WriteLine(string)
  ret
}
}
Тот факт, откуда вываливается exception понятен - ldftn преверащается в mov ecx, imm
А функция System.Console::WriteLine(string) в свою очередь интерпретирует содержимое ecx как указатель на строку.
Что непонятно, так это ПОЧЕМУ этот код не вызывает никаких ошибок при проверке на целостность. Это какоето нарушение концепции, разве нет?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: AccessViolationException in managed code

Сообщение Ramzes » 25.08.2008 (Пн) 9:43

а какие опции компилятора использовал?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: AccessViolationException in managed code

Сообщение ANDLL » 25.08.2008 (Пн) 10:01

Ramzes писал(а):а какие опции компилятора использовал?
Никакие, просто имя файла передавал
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: AccessViolationException in managed code

Сообщение Ramzes » 25.08.2008 (Пн) 10:14

попробуй /clr

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: AccessViolationException in managed code

Сообщение ANDLL » 25.08.2008 (Пн) 10:53

Ramzes писал(а):попробуй /clr
Рад бы, да нет такого
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 4

    TopList