アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaやFlexのエンジニアで最近Cをはじめた初心者です。

OpenCVを使ってハフ変換のプログラムを作っています。

AIRアプリから、NativeProcessとして5秒毎に呼び出されて、ディスク上の画像からハフ変換で直線を検出する簡単なプログラムですが、時々強制終了してしまい、原因わからず悩んでいます。

特にWin7 32bitの環境で強制終了になりやすい。(WinXPではまだ出たことがないです)

強制終了時のメッセージは
Problem Event Name: APPCRASH
Application Name: testC.exe
Exception Code:c0000005
のような感じです。

Vistual C++ 2008 Expressで開発したため、デバッグモードでテストしたが、特に問題は見つかりませんでした。

何回か実行されて、そして「不明」なタイミングで強制終了する現象です。
そのタイミングは5分後とか30分後とか何時間後とかさまざまでまったく原因分からないです。
ただし、一度強制終了が出たら、このAIRプログラムを再稼働させると、10分ぐらい以内に強制終了になるっていう謎なヒント?もあります。


強制終了時にもっと詳しいログみたいなものを取ってデバッグしたいですが、その方法を教えていただきたいです。

いろいろ検索しましたが、dumpとかC#とか.NETとかいろいろ出てきてどれなのかは判断できません。

ヒントになるURLあれば、教えてください。

A 回答 (3件)

c0000005 は0番地参照などよく遭遇する例外です。


条件によって、オート変数を初期化していないとか、メモリ確保していないポインタ参照しているとか。

デバッグビルド版で何時間運用しても例外エラーは発生しないのでしょうか。
リリース版でしか出ないのであれば、プログラム中にログを埋め込んでみましょう。

この回答への補足

ありがとうございます。

プログラム中にログを埋め込んで様子を見ていきます。

補足日時:2011/10/25 01:17
    • good
    • 1

こういうケースはほとんどの場合


どこかメモリ操作がおかしいところがあって
そのどこかを探すにはソースをしらみつぶしに全部調べるしかないです。

またこういうケースは一見正常に動作しているのではなく
どちらかといえばたまたま正常に動作しているように見えてるだけということが多いです。
    • good
    • 1
この回答へのお礼

ありがとうございます。参考させていただきます。

お礼日時:2011/10/25 01:18

どういう理由で強制終了させられているのか判明しているのですか?

    • good
    • 1

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