dポイントプレゼントキャンペーン実施中!

VC++2010Expressのデバック実行時にエラーが出て困っています。
VC++初心者レベルです。
宜しくお願い致します。

VC++2010Expressにて、OpenCV2.2を使用したプログラムを組むため学習中です。
OSはXPです。

OpenCVのサンプルプログラムを
includeファイル、libファイルのパス(デバッグ用lib)の設定をして、
ビルドは正常に完了するのですが、デバック実行時(メニューバーの三角ボタン)に
エラーが発生し、下記文面のVC++のエラーダイアログボックスがでます。
====
imgCapture.exe の 0x7c94e4ff (ntdll.dll) でハンドルされていない例外が発生しました: 0xC0000235: NtClose は NtSetInformationObject 経由のクローズから保護されているハンドルにコールされました。
====
1.OpenCVが原因の可能性
OpenCVの関数
 cvCaptureFromCAM(0)
の前に矢印がついて止まっており、OpenCV2.2が最近出たばかりなので、
そのバグではないかと疑いましたが、
別PCの同様の環境で同じプロジェクトをビルドし、デバック実行すると、問題なく動作しました。

2.VC++2010Expressのプロジェクト設定が原因の可能性
上記同様、同じプロジェクトで別PCで動作しているため問題ないようです。

3.VC++関連が原因の可能性
現在使用しているPCは、もともとVC++2008Expressをインストールしておりましたので、
アンインストールせず、VC++2010Expressをインストールしてしまったことが原因かと考え、
VC++2008Express、VC++2010Express、関連アプリケーションをアンインストールして、
VC++2010Expressのみインストールしなおしてみましたが、解決しませんでした。

4.環境変数の可能性
ビルドで生成された.exeファイルを直接実行すると問題なく実行されましたので、
dllのパス設定は問題ないようです。


ビルドで生成されたexeが直接実行できるので、VC++関連が原因だと考えているのですが、
VC++2010Expressをインストールしなおしても解決しないため、お手上げ状態です。
問題なくデバック実行できる別PCと同じ設定にしているつもりですが、見落としがあるかも知れません。

解決方法、見落とし、これを試してみてはなど、気がつかれたことがありましたら
アドバイスよろしくお願いいたします。

A 回答 (1件)

アンチウィルスソフトにAvira AntiVir 日本語版を使用していませんか?



最近のバージョンでntdll.dllが質問者さんのような
エラーコード0xC0000235を吐くようになる不具合が発生しました。
このせいでVisual StudioのデバッグやOpenGLを利用したソフト等で強制終了など
の不具合を引き起こすようです。

参照URL先の公式フォーラムのスレッドによると
C:\WINDOWS\system32\drivers\avipbb.sys
のファイルバージョン10.0.22.22でこの問題は解決されたそうです。

しかし日本語版では2010/12/30現在最新版に更新してもバージョン10.0.22.20止まりなので

1:AntiVir日本語版の更新待ち
2:AntiVir英語版導入
3:他社アンチウィルスソフトに移行

のいずれかで解決できると思われます。

参考URL:http://forum.avira.com/wbb/index.php?page=Thread …
    • good
    • 0
この回答へのお礼

Avira AntiVir 日本語版を使用しておりました。
アンインストールしたところ、正常に動作するようになりました。

助かりました。
ありがとうございました。

お礼日時:2011/01/04 10:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!