質問する質問する
 

質問Application xxx encountered a serious error and must shut down.

  • 2009年6月26日 1:49mokonan ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    はじめまして。
    現在VisualStudio2005を使用してCE6.0のモジュール(DLL)を開発しています。
    モジュール内ではRC232C(COM1)へのRead/Writeを行っているのですが、
    COMへの出力データを管理しているThread処理の中で、
    データをアクセスするためにCriticalSectionのLockをし、データをスタック上の変数にコピーしUnLockを行う部分で、
    Application xxx encountered a serious error and must shut down.
    が発生し、変数のコピーでDeadLockに陥ったような状態になってしまいます。
    DeadLockになるようなLockをかけている部分が無いため原因が分からず困っています。
    何かヒントをご存知の方がいらっしゃいましたら、教えていただけると助かります。

すべての返信

  • 2009年6月30日 16:28ホーミンMVPユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    具体的なコード提示がないのでアドバイスしにくいのですが

    > データをスタック上の変数にコピーしUnLockを行う部分で、
    > Application xxx encountered a serious error and must shut down.

    これはLeaveCriticalSection()でエラーが発生しているのでしょうか?それとも変数のコピー(memcpyか何か?)で発生しているのでしょうか?
    いずれにせよメモリコピー時の不正なアドレスへのアクセス、CriticalSectionの破壊などが非常に疑わしいと思いますが。

    まあ具体的な処理内容などがわからないと、これ以上はなんともいえないですね。

  • 2009年7月15日 7:22mokonan ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    ホーミン様
    アドバイスありがとうございます。

    ご指摘のとおり変数のコピー時、メモリを壊していました。
    疑ってみていたのですが、バグの発生パスを見つけられていませんでした。。。。
    お恥ずかしいしだいです。