InetSpySrc & VC6No.00335
Kz さん 02/02/04 17:43
 
はじめまして、Kzっていいます。

横取り丸計画をいじっていたのですが
InetSpy を VC6 にてビルドして使用すると
ログファイルを読み込んだ後に不具合が発生します。

具体的には URL の後ろにゴミがついてきたり、終了時にエラー
また、各アイテムの詳細情報をみようとするとエラーがでます。
ソースの方はほとんどいじっていません。
# YDMAPI.h の宣言修正と FARPROC->WNDPROC の変更だけです。

環境は VC6 + WIn2K SP2 です。

解決方法を教えていただけると助かります。
よろしくお願いいたします。m(_ _)m

[ ]
RE:00335 InetSpySrc & VC6No.00336
秀まるお2 さん 02/02/05 15:40
 
 こちらの開発環境は、VisualC++5.0のServicePack2です。

 VC++6.0でどうかについては検証してないのでなんとも言えない所ですが、付
属のプロジェクトファイルを読み込んでコンパイルしたのなら、一応それでちゃ
んと動くはずだと思います。

 もしかして、新規にプロジェクトを作ったのだとしたら、コンパイルオプショ
ンが変わってしまってるかもしれないです。それでダメなのかもしれないです。
例えば/Jオプションなんかがはずれるとダメだったように思います。

 うちの会社にはVisualC++6.0もあるんですが、現在のVC++5.0環境を壊す訳に
もいかないので、実際に試してみるにはテスト環境を用意するなどかなり面倒な
作業となってしまいます。ただ、InetSplのソースコード側の問題かもしれない
ので、とりあえずバグの状況やコンパイルオプションなど、可能な限り詳しい情
報を提供していただければ、分かる範囲でお答えできると思います。

 というか、出来ればVC++5.0でコンパイルしてみてどうか等テストしてみて欲
しい所です。

[ ]
RE:00335 InetSpySrc & VC6No.00337
える さん 02/02/05 17:42
 
>環境は VC6 + WIn2K SP2 です。

VCのサービスパックの適用状況は?
手元のVC6でコンパイルしても特に問題は発生しません。

[ ]
RE:00336 InetSpySrc & VC6No.00338
Kz さん 02/02/05 23:03
 
ご返答ありがとうございます。

前回書き忘れたのですが付属のプロジェクトを読み込んで
コンバート、VC6 の SP5 にてのコンパイルです。
VC5 の方は持ってないのでテストできませんでした。m(_ _)m

ログファイル読み込み時
SpyData.cpp  LINE:344 付近
> pItem->pszUrl = new char[cbUrl];
> memcpy( pItem->pszUrl, pbRead, cbUrl );
ここで pItem->pszUrl が NULL で終わってない、
pItem->cbUrl が設定されていなかったので
> pItem->pszUrl = new char[cbUrl+1];
> memcpy( pItem->pszUrl, pbRead, cbUrl );
> pItem->pszUrl[cbUrl] = '\0';
> pItem->cbUrl = cbUrl+1;
としたところ問題なく動くようになりました。
# これであってるという自信はありませんが(汗

あと、これでいいのかわかりませんが
コンパイラオプションはこんな感じになってます
# Release, Debug 共通オプション
/nologo /W3 /GX /D "WIN32" /D "_WINDOWS" /YX /J /FD /c

えるさんは普通にできていると言うことで謎が残りますが一応は解決しました。
もし、何かわかるようでしたらよろしくお願いいたします。

[ ]
RE:00338 InetSpySrc & VC6No.00339
秀まるお2 さん 02/02/06 12:32
 
>としたところ問題なく動くようになりました。

 んじゃ、InetSpy側のバグのようです。大変失礼しました。

[ ]
RE:00338 InetSpySrc & VC6No.00340
える さん 02/02/06 17:01
 
>えるさんは普通にできていると言うことで謎が残りますが一応は解決しました。
>もし、何かわかるようでしたらよろしくお願いいたします。

あ、なるほど DEBUG でビルドすると再現しますね。
リリースでビルドしても Win9x だとひかっかりそうです。
( WinNT4/2000/XP はメモリが 0 clear されるので再現しない )

[ ]
RE:00340 InetSpySrc & VC6No.00341
Kz さん 02/02/07 17:19
 
そうだったんですか。
お二方ともありがとうございました。m(_ _)m

[ ]