Toad Data Point启动崩溃,报NullReferenceException错误求助
Toad Data Point启动崩溃(NullReferenceException)
问题现象
启动Toad Data Point时直接崩溃,弹出错误提示:
Toad遇到严重错误,必须关闭。请保存您的数据并关闭应用程序,我们对由此带来的不便深表歉意

日志中报错信息如下:
--------------------------------------------- NullReferenceException Object reference not set to an instance of an object. Stack Trace: at Quest.Toad.ConnectionManager.ConnectMediator.IsEqual(ConnectMediator mediator, Boolean ignorePath, Boolean ignorName) at Quest.Toad.ConnectionManager.ConnectionHierarchy.FindExistingConnection(ConnListNode parent, ConnectMediator mediator, Boolean ignorePath) at Quest.Toad.ConnectionManager.ConnectionHierarchy.FindExistingConnection(ConnListNode parent, ConnectMediator mediator, Boolean ignorePath) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.AddConnections(StorageItem storageItem) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.AddItems(StorageItem storageItem) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.AddNodeItems(Boolean notify, Boolean ignorePath, ResultSet resultSet, ConnGroupNode groupNode, XmlNode platformNode) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.XmlToNodes(XmlDocument xmlDoc, ConnectionHierarchy hierarchy, Boolean notify, Boolean ignorePath) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.Load(ConnectionHierarchy connectionHierarchy, XmlDocument xmlDoc, Boolean notify, Boolean ignorePath) at Quest.Toad.ConnectionManager.ConnectionHierarchyStorage.Load(ConnectionHierarchy connectionHierarchy, Boolean notify) at Quest.Toad.ConnectionManager.ConnectionHierarchy..ctor() at Quest.Toad.ConnectionManager.ConnectionHierarchy.get_Instance() at Quest.Toad.Gui.MainForm.repositoryItemCurrentConnection_CustomDisplayText(Object sender, CustomDisplayTextEventArgs e) at DevExpress.XtraEditors.Repository.RepositoryItem.RaiseCustomDisplayText(CustomDisplayTextEventArgs e) at DevExpress.XtraEditors.Repository.RepositoryItem.GetDisplayText(FormatInfo format, Object editValue) at DevExpress.XtraEditors.Repository.RepositoryItemPopupContainerEdit.GetDisplayText(FormatInfo format, Object editValue) at DevExpress.XtraEditors.ViewInfo.TextEditViewInfo.GetDisplayText() at DevExpress.XtraEditors.ViewInfo.BaseEditViewInfo.OnEditValueChanged() at DevExpress.XtraEditors.ViewInfo.BaseEditViewInfo.set_EditValue(Object value) at DevExpress.XtraBars.ViewInfo.BarEditLinkViewInfo.GetEditSize(GraphicsCache cache) at DevExpress.XtraBars.ViewInfo.BarEditLinkViewInfo.CalcLinkIndent(BarIndent linkIndent) at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.CalcConstants() at DevExpress.XtraBars.ViewInfo.BarLinkViewInfo.CalcLinkSize(GraphicsCache cache, Object sourceObject) at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.CalcLinkSize(BarItemLink link, GraphicsCache cache, Object sourceObject, BarLinkViewInfo linkInfo) at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.PreCalcMultiLineSize(GraphicsCache cache, Object sourceObject, Int32 AMaxBarWidth, Int32& ARestWidth) at DevExpress.XtraBars.ViewInfo.DockedBarControlViewInfo.PreCalcMultiLineSize(GraphicsCache cache, Object sourceObject, Int32 AMaxBarWidth, Int32& ARestWidth) at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.PreCalcBarDrawInfo(GraphicsCache cache, Object sourceObject, Int32 width) at DevExpress.XtraBars.ViewInfo.BarControlViewInfo.CalcBarSize(GraphicsCache cache, Object sourceObject, Int32 width, Int32 maxHeight) at DevExpress.XtraBars.Controls.CustomControl.CalcSize(Int32 width, Int32 maxHeight) at DevExpress.XtraBars.BarDockControl.IsEmpty(IDockableObject dockable) at DevExpress.XtraBars.BarDockControl.AddDockable(IDockableObject dockObject, Int32 rowIndex, Int32 colIndex, Boolean updateIndexes) at DevExpress.XtraBars.Bar.ApplyDocking(BarDockInfo dockInfo, Boolean applyFloatingBarLocation) at DevExpress.XtraBars.Utils.BarManagerDockingHelper.UpdateBarDocking(Boolean applyFloatingBarLocation) at DevExpress.XtraBars.Utils.BarManagerLoadHelper.LoadCore() at DevExpress.XtraBars.Utils.BarManagerLoadHelper.Load() at DevExpress.XtraBars.BarManager.OnFormLoadComplete(Object sender, EventArgs e) at DevExpress.XtraBars.BarManager.OnEndInit() at DevExpress.XtraEditors.Container.ComponentEditorContainer.EndInit() at Quest.Toad.Gui.MainForm.InitializeComponent() at Quest.Toad.Gui.MainForm..ctor() at Quest.Toad.StartupForm.MainAppicationEntryPoint(String[] args) at Quest.Toad.ToadProcessEntryPoint.Main(String[] args)
问题原因
从堆栈追踪来看,崩溃源于连接管理器加载连接配置时触发NullReferenceException,大概率是连接配置文件损坏导致程序无法正常解析连接信息。
解决方法
方法1:重置连接配置文件
- 关闭Toad Data Point(确保进程完全退出)
- 找到Toad配置存储目录:Windows默认路径为
C:\Users\<你的用户名>\AppData\Roaming\Quest Software\Toad Data Point\<版本号> - 找到
Connections.xml文件,重命名为Connections_old.xml(作为备份) - 重新启动Toad Data Point,程序会自动生成新的空白连接配置文件
方法2:安全模式启动
- 右键点击Toad Data Point快捷方式,选择“属性”
- 在“目标”栏末尾添加参数:
-s(注意参数前有空格) - 点击“确定”后启动程序,安全模式下会跳过自定义配置加载
- 若能正常启动,再逐步恢复或重新配置连接
方法3:修复/重装程序
- 打开控制面板,进入“程序和功能”
- 找到Toad Data Point,选择“更改”
- 选择“修复”选项,等待修复完成后重启程序
- 若修复无效,卸载后重新下载最新版本安装
内容的提问来源于stack exchange,提问作者nitin
相关产品推荐
相关产品推荐

