記事閲覧

− 野ざらし言 −

5120 デバッグモード時の変数の値の保存

めざら 2022/10/15(Sat) 07:56 [5118]へのコメント
http://mezala.la.coocan.jp/
> アップロードしなおしても正常になってしまった、というパターンもありがち

戻してみたら,結局文字化けだったので,半角スペース,ハイフン,全角スペースにしてみたら化けませんでした。ここの出力はわりと単純に文字列を出力しているだけなので,なぜ '>' の直後の全角スペースが化けるのか意味不明。'-' の直後の全角スペースは化けないのに……。

ま,それはそれとして,題。

> 異常が起きた際に内部で使っている変数などを表示させる手法が一般的

あのマクロの場合は,動作に影響のある保存変数を使っているわけではないので,&s を &t に変更してトレースしながら動作を追うしかないように思います。実際,今回の #B の動作におけるポインタずれを確認できたのは,非サイレントでのトレースでした。

トレースは「一般的」とは言えないですよね。そういう便利なデバッグ手法が使えるのは,いくらインタープリタでもそれほどあるとは思えない。トレース機能がなかったら,VZ を使い続けていたかどうか分からないですし,トレース時に戻り値と内部レジスタ値を表示するように改善した高橋版の偉大性は古今東西(大げさな)並ぶものがないと思われます。(井蛙談)

ポインタずれのことを考えると,テキストレコードにあるポインタ関連のダブルワード値を確認するのが手始めでしょうか。でも,これはすべてのケースではないですよね。としきさんが最初に確認した論理行の入れ替わりに関してだけで,文字化けを含むぐちゃぐちゃ系はテンポラリファイルの問題のような気がしますし…。テンポラリファイルはメモリの使い方に関わるので,マクロから確認することは困難なのではないかと思います。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5092.ファイル挿入異常の原因がわから.. - としき 22/10/06-18:27

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー