AccessViolationException при переходе через С# -Code в Visual Studio 2013 Обновление 2
Я думаю, что обнаружил ошибку в отладчике в обновлении Visual Studio 2013 Update 2. Когда я получаю от абстрактного класса и переопределяю абстрактный метод, который принимает структуру с двумя строками, сеанс отладки падает с AccessViolationException.
Такое поведение наблюдается с 64-битной архитектурой и .NET Framework 4.0 и выше (4.5 и 4.5.1).
Шаги для воспроизведения:
- Создайте новый проект консоли. Используйте любой процессор или x64 (это будет работать только в 64-разрядной системе!) И используйте .NET Framework 4.0, 4.5 или 4.5.1.
- Скопируйте и вставьте код ниже.
- Установить точку останова в первой строке кода в основном методе.
- Пройдите код до конца.
- AccessViolationException происходит в последней строке Main-метода.
Теперь мои вопросы:
- Может ли кто-нибудь воспроизвести это поведение?
- Как это может произойти и как я могу отлаживать такие ошибки лучше, чем с визуальной студией?
- Где я могу сообщить об ошибках такого рода?
Спасибо за ваше время.
код:
using System;
using System.Collections.Generic;
using System.Text;
namespace test
{
class Program
{
static void Main(string[] args)
{
Structure structure = new Structure();
Caller caller = new Caller();
caller.Execute(structure);
}
}
public abstract class Father
{
internal Father()
{
}
public abstract bool Execute(Structure structure);
}
public class Caller : Father
{
public Caller() : base()
{
}
public override bool Execute(Structure structure)
{
return true;
}
}
public struct Structure
{
public string A;
public string B;
}
}