アプリケーションプログラムにC0000006を提供するRDPサーバー


0

最近、RDPサーバーに問題が発生しています。

リモートユーザーはRDPサーバーを使用してApplication Serverに接続し、ビル内のユーザーはApplication Serverに直接接続します。

最近の問題は、リモートユーザーがRDPサーバーを使用してApplication Serverに接続すると、C0000006外部例外エラーが発生することです。最初のユーザーがこのエラーを受け取ると、Program#1Program#2を使用している全員がC0000006エラーを受け取るまで、エラーはゆっくりとユーザーに広がります。RDPサーバーを再起動すると、ほとんどの場合問題が修正されます

これらの2つのプログラムでC0000006エラーが発生する問題がどうなるのかはわかりませんが(彼らは互いに話します)、通常、ユーザーに忍び寄るこの最初の前駆体はProgram#1Program#2が現れますタスクマネージャーでは次のように空白になります。

RDPサーバーC0000006前駆体.png

私はこれがロングショットであることを知っていますが、何がこれを引き起こしているのでしょうか?RDPサーバーApplication Server間の通信のようです。IT部門はこの問題を修正したいと考えていますが、実際にプログラミングエラーである場合は、サードパーティのコンサルタントのプログラミング修正であり、彼らが対処する必要があります。

回答:


1

0xC0000006エラーは、プログラムがEXEのより多くのデータをメモリにページングするときに発生しますが、できませんでした。通常、これはデータを読み取ろうとするときのI / Oの問題が原因です。

したがって、アプリケーションサーバーとRDPサーバー間の接続が安定していること、およびアプリケーションサーバーのストレージが応答してデータを迅速に送信していることを確認してください。基本的に、予期しないドロップや、RDPサーバーに着信するデータの長時間の遅延は必要ありません。

別のオプション(または追加のアクション)は、スクリーンショットに示されているアイコンから判断するため、アプリケーションはDelphiで記述されているため、プログラムを一度にメモリにロードするようにWindowsに指示するヘッダーを含めるように再コンパイルできます。後でデータをページインする必要を回避し、エラーを回避します...

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

セクションにWinapi.Windows含まれていることを確認してくださいUses

最初のフラグは、プログラムがリムーバブルドライブ(つまり、フラッシュドライブ)にある場合はメモリに完全にロードするように指示し、2番目のフラグはプログラムがネットワーク共有にある場合(おそらくあなたがそうであるように)実行するように指示します。

詳細については、StakcOverflowをご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.