1

Windows 7 32ビットのQt Creator IDEでQtとOpencvを使用してビデオ処理プロジェクトに取り組んでいます。コードのコンパイルと実行に成功しました。しかし、アプリケーション Windows の GUI を閉じると、エラーが表示されます。

MyProgram.exe has stopped working


Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: QtTracker3.exe
  Application Version:  0.0.0.0
  Application Timestamp:    5107b5da
  Fault Module Name:    ntdll.dll
  Fault Module Version: 6.1.7600.16695
  Fault Module Timestamp:   4cc7ab44
  Exception Code:   c0000005
  Exception Offset: 00052073
  OS Version:   6.1.7600.2.3.0.256.1
  Locale ID:    1033
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

私はプロのプログラマーではないので、これが私のプログラミング スキルの低さによるものなのか、それとも他の何かによるものなのかを知る必要はありません。

4

2 に答える 2

3

例外コードc0000005は、一般保護違反とも呼ばれるアクセス違反です。プログラムは、仮想アドレス空間の一部ではないアドレスから読み取りまたは書き込みを行っています。非常に一般的な原因は、古いポインターを逆参照していることです。つまり、ポインタはかつて有効でしたが、その後解放されました。後でアクセスしようとすると、例外が発生します。

例外はntdll.dll、システム DLL であるフォルトです。これは、プログラム内の何かが無効なデータをシステム API に渡していることを意味します。

この問題を解決するには、デバッガーで実行し、例外が発生したコードのポイントでデバッガーを中断させる必要があります。次に、アクセスされているメモリが無効である理由を突き止めることができます。

それはあなたにはできることですが、私たちにはできません。あなたはコードを持っていますが、私たちは持っていません。ですから、これ以上のお手伝いはできません。いずれにせよ、絶望する必要はありません。これらの問題は通常、デバッガを使用すれば簡単に解決できます。

于 2013-01-29T12:04:08.143 に答える