.Net 4 try catch return

Привет.
Я прототипирую приложение, которое должно сконнектиться с сервером по TCP. Вот кусок кода

                bool fstay = false;
                try
                {
                    Client.Connect(ServerAddress, ServerPort);
                    fstay = true;
                }
                catch (Exception ex)
                {
                    //тут всякая отладочная фигня которая срабатывает

                    return; //выход из функции НЕ происходит
                }
                if (!fstay) return; // выход из функции происходит

Так вот, после автозащиты fstay - костыль без которого программа идет дальше и вылетает на обращении к свойсвам Client. До автозащиты все нормально работает - программа выходит по return в catch блоке.

.Net 4.0, VS 2010, Guardant SDK 7 (в прошлую пятницу скачал и поставил).

Re: .Net 4 try catch return

Здравствуйте, Александр!
В случаях, когда после автозащиты приложение теряет свою работоспособность, необходимо пользоваться утилитами, входящими в состав Guardant SDK - Exclusion Utility или Профайлер .NET
Воспользовавшись одной из этой утилит, Вы сможете исключить из процесса автозащиты функцию, защита которой приводит к неработоспособности приложения. Для этого нужно сохранить результаты работы утилиты и подставить её результат во время автозащиты.

Re: .Net 4 try catch return

Добрый день, Станислав,

1. то есть я должен перепроверять всю работоспособность программы?
2. Предполагается, что подобное изменение поведения - норма?
3. Что делать если как раз эту функцию я и хочу защитить?

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

Re: .Net 4 try catch return

AlexanderG пишет:

Добрый день, Станислав,

1. то есть я должен перепроверять всю работоспособность программы?
2. Предполагается, что подобное изменение поведения - норма?
3. Что делать если как раз эту функцию я и хочу защитить?

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

1. Отладкой работы приложения занимается её разработчик
2. На случай такого поведения приложения после защиты были разработаны утилиты, которые позволяют исключить из автоматической защиты функции, которые становятся неработоспособными.
3. Для более тонкой защиты приложения, мы рекомендуем использовать Guardant API