Почему этот код бросает System.executionEngineExceptionC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему этот код бросает System.executionEngineException

Сообщение Anonymous »

фон: < /strong>
Я использую управляемые библиотеки DirectX 9.0 для преобразования массивов 3D -точек в координаты 2D экрана. Для скорости я использую нефтенативметоды, чтобы сделать все преобразования.

Проблема:

Если моя функция отсечения на заказ используется, мое приложение умирает без каких -либо исключений, мне потребовалось некоторое время, чтобы выяснить, что она бросала Uncatchable system.executeengineException . Я сузил его до происходящего из -за двух последних строк моей функции отсечения. < /P>

Код: Выделить всё

List verticesAfterClipping = new List;
public unsafe void ClipLine(Line lineToClip)
{
this.verticesAfterClipping.Clear();

// Clipping algorithm happens here... (this is psuedo-code of what it does)
foreach(Vertex in lineToClip.Vertices)
{
bool thisIsClipped =   // Set to whether this vertex is clipped
bool lastWasClipped =  // Set to whether last vertex was clipped

if(thisIsClipped == false && lastWasClipped == true)
{
verticesAfterClipping.Add( /* intersection on clipping plane */ );
verticesAfterClipping.Add( /* thisVertex */ );
}
else if (thisIsClipped == false && lastWasClipped == false)
{
verticesAfterClipping.Add( /* thisVertex */ );
}
else if (thisIsClipped == true && lastWasClipped == false)
{
verticesAfterClipping.Add(/* intersection on clipping plane */);
}
}

// THIS IS WHERE BAD THINGS HAPPEN
lineToClip.Vertices = new Vertex[verticesAfterClipping.Count];
verticesAfterClipping.CopyTo(lineToClip.Vertices, 0);
}
Когда список VerticesafterClipping копируется в линейные вершины Вершины. Из всего, что я могу видеть, когда я прохожу через него в режиме отладки, он работает совершенно хорошо, пока он просто не умрет. < /P>

Я просто не могу понять, что не так. Любая помощь будет очень оценена.

Подробнее здесь: https://stackoverflow.com/questions/410 ... eexception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему этот код бросает System.executionEngineException
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Почему этот код бросает System.executionEngineException
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    141 Просмотры
    Последнее сообщение Anonymous
  • Получение System.ExecutionEngineException в процедуре при быстром изменении размера окна
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Получение System.ExecutionEngineException в процедуре при быстром изменении размера окна
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»