> あのマクロの場合は,動作に影響のある保存変数を使っているわけではない
マクロそのものを考えると、おっしゃるとおりです。
私が考えたのは、なんというのかな、実は正確な用語がわからないのですが、Vzの内部の構造体とか何とか、ポインタで表すような部分とか、あるいは変数cpとか何とか、いくばくなりとも今回の異常動作に関係のありそうな周辺の変数のことです。
なぜこんなことを思いついたかというと、konnoさんがいろいろと検討するに当たり、内部情報を変数vnに保存して表に出す、ということをやられていたからです。
これと同じような手法で、内部の情報を表に引っ張ってくれば、正常動作と異常動作で何かが違う部分が見つけられるのではないか、と考えたわけです。
ただ、これも、おっしゃるとおり、あくまでも異常挿入のときの追跡に使えるだけ。
テンポラリファイル関係では、難しいものがあると思います。
> トレースは「一般的」とは言えないですよね。
大昔は逆に、とても一般的でした。
かつて、パソコンが8ビットの時代のBASICインタプリタでは、非常に多くの機種でトレース機能がありました。もちろん、トレース機能のONとOFFが可能で、デフォルトでは当然、OFFです。
さて、これがどのくらい一般的だったかというと、トレースをONにするBASICコマンドは「TRON」ですが、このコマンド名をタイトルとするハリウッド映画が作られたくらい。そして、当時のいわゆるパソコン少年たちは、この映画のタイトルの意味するところはすぐにわかったわけです。
何年か前、この映画のリメイクが作られたくらいですから、映画の内容はそれなりによかったのだと思いますが、でも、最近の人たちは、このタイトルの意味なんかわかっていないんだろうなぁ。
そして、コンパイラ言語ではトレースってあまり一般的ではないかもしれません。
でも、いわゆる統合開発環境というヤツでは、ブレークポインタなどを使うことで、擬似的にトレースできるようになっています。DOSのころのTurbo-CとかQuick Cとかにも搭載されていたのではないかなぁ。もう覚えていない。
また、例えば最近のExcelマクロとかの開発環境でもトレース機能はありますので、おそらく、めざらさんの思っているよりはありふれているのではないかと思います。
ただ、文太さんが好きそうなmakeコマンドでコンパイルするような環境だと、トレース機能なんてほとんどないと思います。知らんけど。
> ポインタずれのことを考えると,テキストレコードにあるポインタ関連のダブルワード値を確認するのが手始めでしょうか。
よろしければ、これの方法をお教えいただけないでしょうか。
関連記事一覧ツリー
(▼ を押すとツリー全体を一括表示します)
-
▼ - 5092.ファイル挿入異常の原因がわから.. - としき 22/10/06-18:27
返信フォーム
(この記事に返信する場合は下記フォームから投稿して下さい)