none
多言語OSでの.exeファイルのエラーについて RRS feed

  • 質問

  • 他の言語のOS環境で使う事を目的としたアプリケーションを、日本語OSの元でVisualStudio2003を使い作成しました。そのexeファイルを、中国OSで実行すると問題なく立ち上がりまずが、同じ条件で台湾OSと韓国OSでは、exeファイルをクリックするとすぐに、致命的なエラー(マイクロソフトにエラー内容を送信というダイアログボックスが立ち上がる。)となります。そのエラーが出なくするには、どのように対応したらいいでしょうか?
    2007年2月22日 0:26

すべての返信

  • どこでエラーが発生しているか特定するため、エラーが発生する環境でデバッグしてみてはいかがでしょう。
    それとも、デバッガでは終えない場所でエラーが発生しているのでしょうか。

    2007年2月22日 8:07
  • そうですね。今、現状では台湾OSのPCでエラーが発生しているので、デバック環境がないので追えません。ntdll.dllがおかしいといったエラーが出ているようなので、現状では、日本語OS専用のDLLが存在しているのでは?と思っているのですが、はっきりした事は、わかっていません。

     

    2007年2月22日 8:28
  • 現象が発生したときのクラッシュダンプを作成してもらってコールスタックを見れば、ntdll.dllの呼び出し元にアプリケーションがあるんじゃないかなあと推測します。そしてアプリケーションの戻りアドレスと関数に渡している引数から、何か分かるのではないでしょうか。
    2007年2月22日 8:44
  • クラッシュダンプの作成とは、どうやってやればいいのでしょうか?

     

    2007年2月22日 11:04
  • まずワトソン博士をシステムに登録します(そのためには「drwtsn32 -i」を実行します)。その後アプリケーションを起動してエラーを起こせば、ワトソン博士のログファイルdrwtsn32.logとクラッシュダンプファイルuser.dmpが生成されると思います。これらのファイルがどこに作成されるかは、ワトソン博士の設定によります(「drwtsn32」を実行すれば設定画面が表示されます)。
    # と言いつつ、XPならデフォルトでワトソン博士が登録されているんでしたっけ…?

    Setting up Dr. Watson
    http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/drwatson_setup.mspx

    生成されたログファイルだけでもいろいろなことが分かりますし、クラッシュダンプファイルをWinDbgやVisual Studioで開けばもっと多くのことが分かります。

    それから、もしも開発環境と問題の環境とをネットワークで接続できるのなら、リモートデバッグを行うというのも手です。

    2007年2月22日 15:09