ネイティブコードから非確定的なSystem.AccessViolationExceptionがスローされています。それを再現するのは難しいですが、時にはそれが起こります。私はアクセス違反に必要な時間が約2時間であり、アクセス違反が起こるという保証はないので、私が「ただデバッグする」ことができるかどうかは分かりません。System.AccessViolationExceptionの理由を特定する
ネイティブライブラリは、マネージラッパーによって使用されます。 JavaからJNIまで使用され、.NETからIKVMのJNIまで使用されています。問題はIKVMのコードからのみ再現されましたが、データセットが異なり、IKVMのアプリケーションで使用されるデータでJavaアプリケーションをテストする方法がありません。
私はすべての情報源を持っていますが、可能であれば、私は多くの変更を避けたいと考えています。
ネイティブコールスタックは、このアクセス違反の理由について十分な情報を提供すると考えています。
このアクセス違反の理由を特定する有効な方法はありますか?
私にとって理想的な解決策は、コードやプロセス環境の変更であると思うので、このアクセス違反の場合にメモリダンプがクラッシュするので、変更を加えてただ待ってください。
私は自分のネイティブコードを変更してアクセス違反があり、デバッグシンボルで再コンパイルするようにしました。私はプロセスを正常に開始し、Visual Studioデバッガをアタッチしました。私はAccessViolationExceptionをスローするためのブレークポイントを追加しましたが、キャッチされませんでした。助言がありますか? – okutane
OK、私はブレークポイントがWin32アクセス違反であることがわかりました。 – okutane