保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
MAGOICHI
投稿数: 4
メモリーテーブルを使用しているプログラムで1日に数回、「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。」のエラーがmgerror.logに記録されます。
受注入力のプログラムで発生する回数が多いですが、それ以外のプログラムでも発生します。
実行環境は、windows server 2012R2にリモートデスクトップ接続し、クライアント実行版で実行しています。
どなたか原因・対応方法わかる方いましたら
ご教授ください。よろしくお願いします。
受注入力のプログラムで発生する回数が多いですが、それ以外のプログラムでも発生します。
実行環境は、windows server 2012R2にリモートデスクトップ接続し、クライアント実行版で実行しています。
どなたか原因・対応方法わかる方いましたら
ご教授ください。よろしくお願いします。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
MAGOICHIさん、
インターネットでそのメッセージを検索すると、事例がいくつか出て
くるようですが、どうやらMagicが出しているメッセージではなくて、
もっと下位の環境が出しているエラーのような気がしますね。
私だったら、.NET Frameworkあたりを疑います。
インターネットでそのメッセージを検索すると、事例がいくつか出て
くるようですが、どうやらMagicが出しているメッセージではなくて、
もっと下位の環境が出しているエラーのような気がしますね。
私だったら、.NET Frameworkあたりを疑います。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
今までメモリーテーブルを使用していますがそのようなメッセージが出た事はないですね
.NET等を使用して特殊な事をしていませんか?
.NET等を使用して特殊な事をしていませんか?
投票数:0
平均点:0.00
Re: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
msg# 1.2.1
MAGOICHI
投稿数: 4
Tandaさん、ISHIJIMAさん、ありがとうございます。
起動時に、外部コール(UDP)で
'@advapi32.GetUserNameA' ログインユーザーの取得
'@kernel32.GetComputerNameA' コンピュータ名の取得
を行っていますが、上記以外では.Netをコールしたり、DLLをコールしたりはしていません。
mgerror.logには以下のような内容が記録されています。
よろしくお願いいたします。
場所 com.magicsoftware.rte.RTEmanager.Main(), program: ●メインメニュー.B/実行.●受注入力.T.明細入力
<-1> 12/04/2017 23:25:07.155 [Error ] - [MgGui.dll] System.AccessViolationException :
場所 CoreExecutorEndpoint.EnableCutCopy(Double , Boolean )
場所 CoreExecutorGateway.EnableCutCopy(Double contextID, Boolean enable)
場所 com.magicsoftware.rte.GuiEventsProcessor.EnableCutCopy(GuiMgControl ctrl, Boolean enable)
場所 com.magicsoftware.unipaas.Events.OnEnableCutCopy(GuiMgControl ctrl, Boolean enable)
場所 com.magicsoftware.unipaas.gui.low.GuiUtilsBase.enableDisableEvents(Object control, GuiMgControl editControl)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.selectText(GuiCommand guiCommand)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.Run()
保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。, program: ●メインメニュー.B/実行.●受注入力.T.明細入力.SUB.丸め処理
<-1> 12/04/2017 23:25:07.173 [Error ] - [MgGui.dll]
場所 System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
場所 System.Environment.get_StackTrace()
場所 com.magicsoftware.rte.CoreExecutor.WriteErrorToLog(Int64 contextID, String msg)
場所 com.magicsoftware.rte.GuiEventsProcessor.WriteErrorToLog(String message)
場所 com.magicsoftware.unipaas.Events.WriteErrorToLog(String msg)
場所 com.magicsoftware.unipaas.Events.WriteErrorToLog(Exception ex)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.Run()
場所 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
場所 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
場所 System.Delegate.DynamicInvokeImpl(Object[] args)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbacks()
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
場所 System.Windows.Forms.Form.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
場所 com.magicsoftware.unipaas.gui.low.GUIMain.messageLoop()
場所 com.magicsoftware.unipaas.Manager.MessageLoop()
場所 com.magicsoftware.rte.RTEmanager.ExecuteMainThread(String args)
起動時に、外部コール(UDP)で
'@advapi32.GetUserNameA' ログインユーザーの取得
'@kernel32.GetComputerNameA' コンピュータ名の取得
を行っていますが、上記以外では.Netをコールしたり、DLLをコールしたりはしていません。
mgerror.logには以下のような内容が記録されています。
よろしくお願いいたします。
場所 com.magicsoftware.rte.RTEmanager.Main(), program: ●メインメニュー.B/実行.●受注入力.T.明細入力
<-1> 12/04/2017 23:25:07.155 [Error ] - [MgGui.dll] System.AccessViolationException :
場所 CoreExecutorEndpoint.EnableCutCopy(Double , Boolean )
場所 CoreExecutorGateway.EnableCutCopy(Double contextID, Boolean enable)
場所 com.magicsoftware.rte.GuiEventsProcessor.EnableCutCopy(GuiMgControl ctrl, Boolean enable)
場所 com.magicsoftware.unipaas.Events.OnEnableCutCopy(GuiMgControl ctrl, Boolean enable)
場所 com.magicsoftware.unipaas.gui.low.GuiUtilsBase.enableDisableEvents(Object control, GuiMgControl editControl)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.selectText(GuiCommand guiCommand)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.Run()
保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。, program: ●メインメニュー.B/実行.●受注入力.T.明細入力.SUB.丸め処理
<-1> 12/04/2017 23:25:07.173 [Error ] - [MgGui.dll]
場所 System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
場所 System.Environment.get_StackTrace()
場所 com.magicsoftware.rte.CoreExecutor.WriteErrorToLog(Int64 contextID, String msg)
場所 com.magicsoftware.rte.GuiEventsProcessor.WriteErrorToLog(String message)
場所 com.magicsoftware.unipaas.Events.WriteErrorToLog(String msg)
場所 com.magicsoftware.unipaas.Events.WriteErrorToLog(Exception ex)
場所 com.magicsoftware.unipaas.gui.low.GuiCommandQueueBase.Run()
場所 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
場所 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
場所 System.Delegate.DynamicInvokeImpl(Object[] args)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
場所 System.Windows.Forms.Control.InvokeMarshaledCallbacks()
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
場所 System.Windows.Forms.Form.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
場所 com.magicsoftware.unipaas.gui.low.GUIMain.messageLoop()
場所 com.magicsoftware.unipaas.Manager.MessageLoop()
場所 com.magicsoftware.rte.RTEmanager.ExecuteMainThread(String args)
投票数:0
平均点:0.00
Re: Re: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
msg# 1.2.1.1
ISHIJIMA
居住地: 静岡県
投稿数: 1827
外部コール(UDP)の問題だとすればOSEnvGet関数で取得できる内容なので変更してそれでも発生する場合はほかの原因かと思われます。
投票数:0
平均点:0.00
Re: Re: 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
msg# 1.2.1.1.1
sigeno56
投稿数: 336
OSEnvGet('COMPUTERNAME')
OSEnvGet('USERNAME')
を使うのもいいでしょうね。
OSEnvGet('USERNAME')
を使うのもいいでしょうね。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
下記の内容が同じような現象ですよ
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/d09e9112-5e61-412a-9c3a-a1835b8cfbbf?forum=vbgeneralja
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/d09e9112-5e61-412a-9c3a-a1835b8cfbbf?forum=vbgeneralja
投票数:0
平均点:0.00
MOTOAKI
投稿数: 31
Magic xpa 画面表示部分は.Netで開発されていますので、Magicの内部処理でメモリのアクセス違反が発生しているかと思います。
投票数:0
平均点:0.00