none
WriteXMLで0バイトファイルを出力するケースがありますか? RRS feed

  • 質問

  • 尾崎と申します。

    質問は、
    WriteXMLが0バイト出力する条件があるかどうかです。

    エンドユーザー環境にて、例外が発生しました。原因は0バイトのXMLファイルをReadXMLで読み込んでいたためでした。
    今回のプログラムは、ReadXMLとWriteXMLは1箇所ずつで、プログラム起動時にReadXMLして、終了時にWriteXMLしています。
    したがって、WriteXMLが0バイトを作成したとしか考えにくいです。
    また、開発環境では、1度も再現できていません。

    別スレッドで、シャットダウン時にWriteXMLでエラーが発生する質問がありましたので、
    エンドユーザー環境でシャットダウンが行われたのが原因の可能性がありますが、
    開発環境では、一度もWriteXMLを失敗しないため、0バイト出力の確信がありません。

    よろしくお願いします。

    以上




    2008年12月3日 6:41

回答

  • こんにちは!(^^)!ふ~です。

     

    >エンドユーザー環境にて、例外が発生しました。

    直接の原因は、分からないのですが、通常どのように対応するかと言う観点からです。

    この場合、ログファイルを解析するのが一番良い方法です。

     

    問題の解析に必要な情報をログファイルに落ちるように、新たに仕掛けを作り、そのまま、

    エンドユーザー環境で使っていただき、確実に原因を捕らえます。

     

    一般的なアプリエラー解析ですと、ドクターワトソンなどが良く使われています。しかし、

    欲しい情報がダンプに含まれない場合がございます。

     

    ワトソン博士 (Drwatson.exe) ツールについて
    http://support.microsoft.com/default.aspx?scid=kb;ja;308538

     

     

     

     

    2008年12月4日 10:57
  • こんにちは!中川俊輔です。

     

    !(^^)!ふ~さん、回答ありがとうございます。

     

    ozakiさん、フォーラムのご利用ありがとうございます。

    問題のXMLファイルに対するアクセス制御はどのようになっていますか?

    アクセス制御が考慮されていない状態で複数のプロセスから同時に読み込み、書き込みが行われると、

    タイミングによっては異常なデータが読み込まれる可能性があると思います。

     

    参考になると幸いです。

    それでは!

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年12月10日 10:13

すべての返信

  • こんにちは!(^^)!ふ~です。

     

    >エンドユーザー環境にて、例外が発生しました。

    直接の原因は、分からないのですが、通常どのように対応するかと言う観点からです。

    この場合、ログファイルを解析するのが一番良い方法です。

     

    問題の解析に必要な情報をログファイルに落ちるように、新たに仕掛けを作り、そのまま、

    エンドユーザー環境で使っていただき、確実に原因を捕らえます。

     

    一般的なアプリエラー解析ですと、ドクターワトソンなどが良く使われています。しかし、

    欲しい情報がダンプに含まれない場合がございます。

     

    ワトソン博士 (Drwatson.exe) ツールについて
    http://support.microsoft.com/default.aspx?scid=kb;ja;308538

     

     

     

     

    2008年12月4日 10:57
  • こんにちは!中川俊輔です。

     

    !(^^)!ふ~さん、回答ありがとうございます。

     

    ozakiさん、フォーラムのご利用ありがとうございます。

    問題のXMLファイルに対するアクセス制御はどのようになっていますか?

    アクセス制御が考慮されていない状態で複数のプロセスから同時に読み込み、書き込みが行われると、

    タイミングによっては異常なデータが読み込まれる可能性があると思います。

     

    参考になると幸いです。

    それでは!

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年12月10日 10:13
  • こんにちは、フォーラムオペレータ 大久保です。

     

    xmlの書き出しに限った話ではありませんが、どんな状況においてもイレギュラーって発生すると思うんですよ。

    起きる可能性が(論理的に)あるなしにかかわらず、イレギュラーが起こる可能性はゼロではない という前提でシステム設計をされたほうがいいと思います。

     

    ひとまず、中川と !(^^)!ふ~ さんの投稿に「回答済み」チェックをつけさせていただきましたが、また何かありましたら MSDN フォーラムのことを思い出していただければと思います。

     

    それでは

    2008年12月17日 7:36