2

私はいつもerlangstdlibライブラリzip:unzip/1をうまく使ってきました。昨夜、私はこのエラーでバーにぶつかりました:

E:\WimaxStatsParser-1.1>erl
Eshell V5.9.2 (^G で中止)
1> zip:unzip("e:/WimaxStatsParser-1.1/in/SomeZipFile.zip").
{エラー、bad_central_directory}
2>

この原因を説明するのに役立つ人はいますか? そして、どうすればそれを回避できますか?

追加事項


別のファイルで別のエラーが発生しました: {error,bad_eocd}. これも説明してください。

4

1 に答える 1

1

ご提供いただいた情報では問題を再現できません。このエラーを送信する可能性のある関数が 2 つあります。

stdlib-1.18.2/src/zip.erl の get_cd_loop/5 および get_name_extra_comment/4 。

簡単にデバッグできるはずです

ファイル zip.erl、zip.hrl、file.hrl を作業ディレクトリにコピーし、

debug_info オプションを指定してコンパイルすると、「スティッキー ディレクトリにあるモジュールをロードできません」というエラー メッセージが表示され、VM を終了します。

stdlib.../ebin に zip.beam をコピーします。

作業ディレクトリで VM を再起動すると、zip.erl ソースにブレークポイントを追加できるようになります。

ブラジル

パスカル。

于 2012-10-16T14:25:55.033 に答える