Visual Studio 2010 & C#にて作ったアプリで Windowsのエラー


 通常、C#で .NET Frameworkを使って作ったアプリのエラーは .NET Framework上で出る。
 デバイスドライバーにアクセスしたり、その他の DLLへのアクセス等の .NET Framework外での例外などによるエラーは Windowsのエラーとして出たりする。

 今回、普通の C#のコードで Windowsのエラーが出た。エラー報告送信するか?と聞かれる奴。

 それなりの大きさの一部分で起こったことなので、全部に当てはまるような話ではないと思うし、トレースや単純なコードでの検証とかもしていないので、実際にどこでエラーが出たのかはわからないが、エラーが出たのでメモしておく。

 ミスは単純。無限再帰。メソッド名を間違えて自分自身にしてしまっていたので、無限に再帰してしまった。
 てっきりスタックオーバーフローの類が出るかと思ったのだが、デバイスドライバーや他の DLLも呼び出したり、色々やっているコードなので、その無限再帰からの影響で .NET Framework外でエラーが出た可能性が高い。

 前にもマルチスレッドで、異常なイベントが無限に発生してアプリケーションエラーが発生するという現象も起こったが、これもそういう類なのかな?その時は CPUをシングルコアにして問題が無くなる類の現象だったが。マルチコア&マルチスレッド&ハードウェア依存処理って、何かなかなか安定しないんだよなあ。簡単にデバッグできんし。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック