Сбой обновления Vb NET
У меня есть программа, которую я использую для мониторинга моего домашнего пивоварения. Ему уже двадцать лет, но в прошлом году я переписал его с помощью V2017. Он использует базу данных DAO 3.6.
Две недели назад он начал отказывать с обновлениями без всякой причины - всегда, возможно, обновление W-10.
Когда я перехожу в ту часть программы, где сбой находится в режиме отладки, я получаю следующую ошибку при команде "обновить "" система.AccessViolationException: 'попытка чтения или записи защищенной памяти."
Это происходит только с одним файлом в базе данных. Другие файлы обновляются идеально.
Я проверил файл с помощью Visual Data Manager (инструмент, который поставляется вместе с VB6), и он выглядит идеально.
Помогите !
Я скопировал полную информацию об исключении ниже:
- $exception {"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."} System.AccessViolationException + Data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal} HResult -2147467261 Integer HelpLink Nothing String + IPForWatsonBuckets &H00000000 System.UIntPtr + InnerException Nothing System.Exception IsTransient False Boolean Message "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." String RemoteStackTrace Nothing String Source "BOOZ" String StackTrace " at DAO.Recordset.Update(Int32 UpdateType, Boolean Force)" & vbCrLf & " at BOOZ.frmMaster.UpdateSaveToolStripMenuItem_Click(Object sender, EventArgs e) in C:\Users\Ned\Documents\Development\BOOZ303 - VB-Net 2017\BOOZ\BOOZ\bzMaster.vb:line 342" & vbCrLf & " at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)" & vbCrLf & " at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)" & vbCrLf & " at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)" & vbCrLf & " at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)" & vbCrLf & " at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)" & vbCrLf & " at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)" & vbCrLf & " at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)" & vbCrLf & " at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)" & vbCrLf & " at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)" & vbCrLf & " at System.Windows.Forms.Control.WndProc(Message& m)" & vbCrLf & " at System.Windows.Forms.ScrollableControl.WndProc(Message& m)" & vbCrLf & " at System.Windows.Forms.ToolStrip.WndProc(Message& m)" & vbCrLf & " at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)" & vbCrLf & " at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)" & vbCrLf & " at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)" & vbCrLf & " at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)" & vbCrLf & " at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)" & vbCrLf & " at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)" & vbCrLf & " at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)" & vbCrLf & " at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)" & vbCrLf & " at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()" & vbCrLf & " at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()" & vbCrLf & " at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)" & vbCrLf & " at BOOZ.My.MyApplication.Main(String[] Args) in :line 81" String + TargetSite {Void Update(Int32, Boolean)} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo} + WatsonBuckets {Length=5616} Object {Byte()} _HResult -2147467261 Integer _accessType 0 Integer _className Nothing String + _data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal} _dynamicMethods Nothing Object + _exceptionMethod {Void Update(Int32, Boolean)} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo} _exceptionMethodString Nothing String _helpURL Nothing String + _innerException Nothing System.Exception + _ip &H0F3FB4A8 System.IntPtr + _ipForWatsonBuckets &H00000000 System.UIntPtr _message "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." String _remoteStackIndex 0 Integer _remoteStackTraceString Nothing String + _safeSerializationManager {System.Runtime.Serialization.SafeSerializationManager} System.Runtime.Serialization.SafeSerializationManager _source "BOOZ" String + _stackTrace {Length=768} Object {SByte()} _stackTraceString Nothing String + _target &H0000002C System.IntPtr + _watsonBuckets {Length=5616} Object {Byte()} _xcode -1073741819 Integer + _xptrs &H010FD52C System.IntPtr
Что я уже пробовал:
Я попытался изменить dll - файлы на другую версию в случае, если она повреждена-никакой радости