Я создаю приложение Windows, используя стороннюю DLL. Они дали некоторые предопределенные методы для использования. Существует метод SetTag()
, который используется для обновления значения. Теперь моя работа - получить данные от клиента tcp и отправить этот метод. Моя часть tcp работает хорошо, я ее протестировал. Проблема возникает в то время, когда я звоню SetTag()
. Он хорошо работает на некоторое время, но через какое-то время, он показывает точно в момент отладчик всплывающее окно с исключениемНеобработанное исключение произошло в myproject.vshost.exe
необработанное исключение произошло в myproject.vshost.exe
Я не» t понять, откуда это исключение.
Всякий раз, когда я получаю данные от TCP клиента, мой UpdateValues()
называется, который называет третьей стороной SetTag()
// valuesInArray is an object array which contain
// the data from tcp client after converted to object
UpdateValues(valuesInArray);
и метод:
public void UpdateValues(object[] values)
{
this.BeginUpdate();
for (int i = 0; i < 9; i++)
{
this.SetTag(TagHandle[i], (values[i]), Quality.Good, FileTime.UtcNow);
}
this.EndUpdate(false);
}
Я создал симулятор, где данные не поступают из tcp-клиента, и отправляет данные в событие таймера. В этом случае ошибка не возникает, и программа работает плавно. Можете ли вы предположить, почему эта ошибка возникает с использованием клиента tcp и как я от него избавляется?
Как насчет окружающих SetTag (...) с попыткой поймать и INVE stigating stacktrace и внутреннее исключение «необработанного» исключения, когда это происходит? [Учебное пособие по отладке] (http://msdn.microsoft.com/en-us/library/vstudio/sc65sadd.aspx) – wonko79
Что такое объявление SetTag в коде C#? Правильны ли параметры, как ожидалось? – stamhaney
try catch не попадает на ошибку. как увидеть stacktrace? – mahua22