当我的RTD服务器启动时,它会通过ServerStart和ConnectData调用,然后就在数据开始到达时,它会调用ServerTerminate来关闭所有内容。 我添加了一个堆栈跟踪转储,但这并没有告诉我任何有用的东西:
public void ServerTerminate()
{
Logger.DebugLog("TRACE: ServerTerminate {0}", new System.Diagnostics.StackTrace(true));
timer_.Dispose();
DataSource.Shutdown();
topicIdMap_.Clear();
fieldLookup_.Clear();
}
2014-09-18 11:22:12Z TRACE: ServerTerminate at Mike.RtdServer.ServerTerminate() in c:\Code\Mike\RtdServer.cs:line 347
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
什么可能导致对ServerTerminate的调用?
答案 0 :(得分:0)
问题是在ConnectData()调用期间访问的未初始化列表。