Как отладить (шаг в) BinaryFormatter.Deserialize ()?
Мое приложение пытается десериализовать данные, отправленные клиентом, и происходит сбой со следующей ошибкой:
Возникло исключение: 'System.Runtime.Serialization.SerializationException' в mscorlib.dll
Дополнительная информация: Невозможно получить участника '<.ctor> b__0'.
поиск в Google не дает результатов. Хорошо, я решил, что вступлю в логику десериализации и попытаюсь выяснить, что именно вызывает это. Ну, день прошел, а я нигде не близко.
Я использовал инструкции отСправочный источник Microsoft сайт для настройки Visual Studio. Это действительно скачатьчто-то
MicrosoftPublicSymbols\mscorlib.pdb\
DCF1E4D31F6944AC87E7A634262BEE881\mscorlib.pdb (780kb)
E47257B512BA49BC9FC367C532FC5F1E2\mscorlib.pdb (953kb)
но отладчик не вмешивается.
Я погуглил больше и нашел другой способ сделать это - установил приложение dotTrace ииспользовал его в качестве исходного сервера, И это тоже не помогает. Я все еще вижу следующее:
Symbol Load Information
всплывающее окно для mscorlib.pdb говорит
C: \ Users \ me \ AppData \ Local \ Temp \ SymbolCache \ MicrosoftPublicSymbols \ mscorlib.pdb \ e47257b512ba49bc9fc367c532fc5f1e2 \ mscorlib.pdb: символы загружены.
Я могу вмешаться в System.Windows.Forms, System.Linq и т. Д. - так что, вообще говоря, это работает - это просто этот конкретный вызовBinaryFormatter.Deserialize()
не работает. Каковы могут быть причины этого и как я могу заставить его вступить?
Может ли это быть из-заSecuritySafeCritical
атрибут?
[System.Security.SecuritySafeCritical]
public Object Deserialize(Stream serializationStream)
Я использую VS 2015. Net 4.5.2 (хотя я пробовал 4.5 с теми же результатами).