STRCAT.ASMファイルはどこにありますか。


NYOKKI  2004-08-02 22:20:22  No: 54109  IP: [192.*.*.*]

VC++6.0を使用して、Debugを実行していたところ、
「STRCAT」を使用しているStepでステップ実行したところ、

「Find Source」という題名でポップアップが表示され、
「please enter the path for STRCAT.ASM」と要求されてしまいます。

OSの検索を使用して「STRCAT.ASM」というファイルを検索したのですが、
見つかりません。このファイルはどこにあるのかご存知の方お教えお願い
いたします。
(STRCATだけでなく、STRLENでも同様のメッセージが表示されています。)

編集    削除
NYOKKI  2004-08-02 23:27:19  No: 54110  IP: [192.*.*.*]

すみません。自己レスです。
CD-ROMの中に、STRCAT.ASMなどのファイルがありました。
CD-ROMをセットして、このファイルを指定すれば、デバックの
方はできそうです。

しかし、コンパイル時は何もエラーが出ず、正常に終了するのに
も関わらず、デバック時に、これらのファイルを要求してくるのは
どうしてでしょうか。

編集    削除
tetrapod  2004-08-02 23:43:03  No: 54111  IP: [192.*.*.*]

CD-ROM をセットしっぱなしはめんどくさいので Setup で追加しましょう。
カスタムセットアップ中の CRT ソースコードを追加でOK
# その後再度 Visual Studio SP6 を実行

> デバック時に、これらのファイルを要求してくるのはどうしてでしょうか。
あなたのプログラムにバグがあるからです。
たとえば不定ポインタとか、処分済みオブジェクトを指すポインタの先に
strcat/strcpy/strlen 等を発行すると実行時エラーになります。
そういう詳細がわかっていれば実は strcat.asm は不要です。
こんなコードを書いていませんか?
char *p; // p はどこを指しているか不定
strcat(p, "abc");

編集    削除
シャノン  2004-08-03 01:14:40  No: 54112  IP: [192.*.*.*]

> あなたのプログラムにバグがあるからです。
> たとえば不定ポインタとか、処分済みオブジェクトを指すポインタの先に
> strcat/strcpy/strlen 等を発行すると実行時エラーになります。

いや、スレ主はエラー出るとは一言も書いてないし。
単にランタイムの中をステップ実行しようとしたからでしょう。

ステップ実行するときは、F10 と F11 を使い分けるとよいですよ。

編集    削除
tetrapod  2004-08-03 01:43:20  No: 54113  IP: [192.*.*.*]

うむむ、御意。
ライブラリソースの中まで追いかけていく必要は無いことがほとんどですね。
# 皆無でなかったのが悲しいけど。

編集    削除