ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

保護されているメモリに読み取りまたは書き込み操作を行おうとしました。

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2017-5-9 11:49
MAGOICHI  新米   投稿数: 4
メモリーテーブルを使用しているプログラムで1日に数回、「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。」のエラーがmgerror.logに記録されます。
受注入力のプログラムで発生する回数が多いですが、それ以外のプログラムでも発生します。

実行環境は、windows server 2012R2にリモートデスクトップ接続し、クライアント実行版で実行しています。

どなたか原因・対応方法わかる方いましたら
ご教授ください。よろしくお願いします。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-9 12:46
Tanda  長老   投稿数: 2151
MAGOICHIさん、

インターネットでそのメッセージを検索すると、事例がいくつか出て
くるようですが、どうやらMagicが出しているメッセージではなくて、
もっと下位の環境が出しているエラーのような気がしますね。

私だったら、.NET Frameworkあたりを疑います。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-9 13:30
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
今までメモリーテーブルを使用していますがそのようなメッセージが出た事はないですね

.NET等を使用して特殊な事をしていませんか?
投票数:0 平均点:0.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-9 14:52
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)
投票数:0 平均点:0.00
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-9 17:50
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
外部コール(UDP)の問題だとすればOSEnvGet関数で取得できる内容なので変更してそれでも発生する場合はほかの原因かと思われます。
投票数:0 平均点:0.00
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-10 5:07
sigeno56  長老   投稿数: 336
OSEnvGet('COMPUTERNAME')
OSEnvGet('USERNAME')
を使うのもいいでしょうね。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-9 18:31
ISHIJIMA  長老 居住地: 静岡県  投稿数: 1827
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-10 10:44
MOTOAKI  半人前   投稿数: 31
Magic xpa 画面表示部分は.Netで開発されていますので、Magicの内部処理でメモリのアクセス違反が発生しているかと思います。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約