問題タブ [access-violation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winforms - コンボからの AccessViolationException: 保護されたメモリを読み書きしようとしました
アプリケーション (VB.Net、Winforms、フレームワークの v2 を使用) を使用しているときに、上記のエラーが発生することがあります。私はそれを再現することができません。コールスタックは次のとおりです。
: System.AccessViolationException: 保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。System.Windows.Forms.UnsafeNativeMethods.CallWindowProc (IntPtr wndProc、IntPtr hWnd、Int32 msg、IntPtr wParam、IntPtr lParam) で System.Windows.Forms.NativeWindow.DefWndProc (メッセージ & m) で System.Windows.Forms.Control.DefWndProc (Message& m) System.Windows.Forms.Control.WndProc(Message& m) System.Windows.Forms.ComboBox.WndProc(Message& m) で ControlEx.AutoCompleteCombo.WndProc(Message& m) System.Windows.Forms.Control でSystem.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) の .ControlNativeWindow.OnMessage(Message& m) System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ControlEx.AutoCompleteCombo.WndProc のコードは次のとおりです。
エラー処理が追加されたため、OutOfMemoryException が発生したときに、どの組み合わせが問題の原因であるかを判断できます。
これの原因についての手がかりをいただければ幸いです。:-)
c++ - .アクセス違反読み取り箇所
私は本当に奇妙な問題に遭遇しました。
コードは次のとおりです。
次の例外を受け取りました。
を確認しましたがpImage
、 がいつgraphics.DrawImage
呼び出されるかは確かですNULL
。
- なぜそのような問題が起こったのですか?
- とは
0xfeeefef2
?
c++ - デバッガーで実行すると VC++ 6.0 のアクセス違反が発生する
4 年前の VC++ 6.0 プログラムに拡張機能を追加しようとしています。デバッグ ビルドはコマンド ラインから実行されますが、デバッガーでは実行されません。printf() 内のアクセス違反でクラッシュします。printf をスキップすると、malloc() (fopen() 内から呼び出される) でクラッシュし、それをスキップできません。
これは、デバッガーで実行できず、何が起こっているかを確認するために古い printf ステートメントに頼らなければならないことを意味します。これは明らかにそれをはるかに難しくします。
VC++ デバッガーで実行すると printf() と malloc() が失敗する理由は何ですか? 私はこの低レベルのことは得意ではありません !
アクセス違反後のコール スタックは次のとおりです。
失敗する操作までのデバッグ逆アセンブリを次に示します。
fopen() を呼び出して malloc() で失敗するソースは次のとおりです。
私が得るエラーは
よろしく、
--- アリステア。
windows-mobile - Windows Mobile デバイスで非常に断続的なアクセス違反をトラブルシューティングするためのテクニックは何ですか?
ほとんどの場合、非常にうまく機能する大規模な Compact Frameworks V2.0 アプリケーションがあります。特定のデバイスでは、約 1 日に 1 回、標準の管理された Try/Catch ブロックではキャッチされないネイティブ エラー 0xC0000005 をユーザーが受け取ります。
私のアプリケーションは、一定の間隔で ASMX 呼び出しを介してサーバーと同期します。この問題は、同期中に発生するようです。同期時に発生する ASMX 呼び出しに加えて、かなりのビジネス ロジックがありますが、その 98% はマネージ コードです。私はすべての P/Invokes とアプリケーションのネイティブ C++ ライブラリを確認しましたが、この時点で、そこに問題がないことを約 95% 確信しています。
これは特定のデバイスでのみ発生し、非常にまれに (1 日に 1 回未満) 発生するため、特定するのは非常に困難です。コードを実装しましたが、アプリケーション内のランダムな場所で発生しているように見えるため、何かがメモリを破損していると思われます。
これをさらにトラブルシューティングする方法についての考えをいただければ幸いです。
.net - OdbcDataReader.Dispose() の AccessViolationException
データベースからデータを取得した直後に OdbcDataReader を破棄すると、この例外が発生します。リーダーは、Using ブロックを離れるときに実際に破棄されます。私の知る限り、これでエラーが発生することはありません。何か案は?
ありがとう!
編集:Sybase ASE 12.5データベースを使用
winapi - アプリが機能しなくなった - アイデア
なぜ私のアプリが突然動作しなくなったのか、私には考えが及ばない - おそらく SO コミュニティの集団精神が助けになるだろう...
背景:
私は最近まで動作していた大規模なアプリケーションを持っています。これを実行しようとすると、「アプリケーションを正しく初期化できませんでした (0xc0000005)」というエラーが表示され
ます。これは、リリース ビルドとデバッグ ビルドの両方で発生します。プロジェクトのクリーニングと再構築を試み、PC を再起動しました。 _tmain()
コール スタックには、kernel32.dll と ntdll.dll
のエントリのみが表示されます。出力ウィンドウには次のように表示されます。
何か案は?
編集:
わかりました-問題が見つかりました-それはdll関連でした
私のアプリは共有dll a.dllとb.dll(およびその他)を使用しています
a.dllほとんどすべての変更(およびb.dllを使用)
b.dllは別の開発者によって変更されましたこれ朝、a.dllが再構築されませんでした。
Depends.exe は不足している dll を表示しませんでしたが、a.dll は b.dll への変更により機能しなくなりました。
sql-server-ce - Sql Compact がランダムに AccessViolationException を生成する
マルチスレッド アプリケーションで Sql Server Compact Edition 3.5.1.0 SP1 を実行しています。アプリケーションは、トランザクションで挿入クエリをランダムに実行します。短いトランザクションでは、問題なく動作します。しかし、トランザクションが長くなり、実行間の遅延が短くなるか、アプリケーションをデバッグ モードで実行すると、SqlCE は次の例外をランダムにスローし始めます。
AccessViolationException 保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。
System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan() で System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand (CommandBehavior 動作、文字列メソッド、ResultSetOptions オプション) で System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery() で SqlCompactTest.TransactedCommandGroupExecutionTest.Test () D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\TransactedCommandGroupExecutionTest.cs: 53 行目 D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs: 60 行目 SqlCompactTest.ExecutionTest の SqlCompactTest.ExecutionTest.RunTest() .TimerElapsed(Object sender, ElapsedEventArgs e) in D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs:System.Timers.Timer.MyTimerCallback(Object state) の 68 行目
私が実行しているコードは次のとおりです。
このコードは、2 つのスレッドで同時に実行されます。接続文字列は次のとおりです。
フレームワーク 1.1 に戻したり、メソッド引数の順序を変更したり、最適化を有効/無効にしたりするなど、インターネットでばかげた解決策を見つけましたが、どれもうまくいきませんでした。また、マイクロソフトのサイトで可能な解決策を繰り返しましたが、自分に合った解決策を見つけることができませんでした. データベース ファイルのバージョンは 3.5.0.0 です。
どうすればこれを解決できますか?
delphi - コンポーネントからの私のアプリでの非常に奇妙なエラー
OK、私のアプリケーションは、やるべきことをすべて実行し、毎回同じことを実行するので、テストがそれほど面倒でなくなったわけではありません。
常にではなく「時々」クラッシュします。最近出力したファイルを開くダイアログでマウスをファイルの上に置くと、これが行われます。すぐにではなく、約0.5秒から1秒待ちます。それは、openfiledialogがファイルサイズ、作成日時、ドキュメントの種類などのデータを表示するときです..(標準)マウスホバー情報..これは「opendialog」を使用していて、このコードを書いていないので、このエラーは私のせいではありませんか???? それがどのように、、そうでない場合、それを止めるためにどのように/何ができますか..
エラーの種類は「アドレスでのアクセス違反」です...
ファイルを開くダイアログにはフィルターがなく、コンポーネント トレイとまったく同じであり、「opendialog.execute」を呼び出すとクラッシュします。
最初はまだ書き込んでいる可能性があると思っていましたが、最後のファイルが保存プロセスを完了するまで、新しいファイルを開くアプリを停止した後も続きました。
私が言ったように、それは常に100%発生するわけではなく、マシン固有ではありません.. 3つの異なるwin XP PCでクラッシュします。
ヘルプ!!
追加; 調査結果 ファイルを開いて実行できます。作成したファイルにポップアップするヒント ボックスを作成しない限り、すべて問題ありません。
delphi - アクセス違反エラーの原因を突き止めるには?
アプリが一部の Vista マシンで GPF を引き起こしているという報告を受けています。エラーメッセージは次のようなものです。
0x75784062 でアクセス違反 (0x00000006 に書き込もうとした)
これを修正するには、まず誰がこの GPF を引き起こしているのかを正確に知る必要があります: 私のメインの exe、サード パーティのコンポーネント、私自身の ActiveX コンポーネントの 1 つ、DLL など...
どうすればこれを見つけることができますか?この混乱の原因となったモジュールを正確に特定できるツールは何ですか?
どんな助けでも大歓迎です。
PS 私のアプリは VB6 でコーディングされており、私の ActiveX コントロールは Delphi 2007 で書かれています。
.net - 一般的な原因 - .NET でのアクセス違反エラー
.NET でのアクセス違反エラーの一般的な原因を探しています。
これまでに確認したこと -
- IDisposable を実装するすべてのオブジェクトで Dispose を呼び出す
- COM オブジェクトへの呼び出しで有効な引数を確認する
- 手動で追加されたすべてのイベント ハンドラーを明示的に削除する
- 明示的に GC.Collect/GC.WaitForPendingFinalizers を呼び出さないでください
- ネイティブ オブジェクト (ビットマップなど) を処理する際のメモリ プレッシャーの追加と削除(追加)
- 有効な引数の型に対するすべての PInvoke 呼び出しを確認する
- IntPtr、SafeHandle、HandleRef の適切な使用を確認する
- スレッディング (スレッド セーフ、再入可能関数)、待機ハンドルの適切な使用。(追加)
- アプリケーションと DLL がすべて同じプラットフォーム (x86 または x64) をターゲットにしていることを確認します (アプリケーションと DLL は、COM オブジェクトと同じプラットフォームをターゲットにする必要があります) (追加) 。
他の提案はありますか?
編集- クラッシュ ダンプ分析を別の質問に移動しました。