掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
読み取りエラーについて (ID:151595)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
このような場合は、まずは詳細マップからエラーを起こしたソースコードの位置を特定する、ということになるかと思います。 - プロジェクトオプションのリンクのマップファイルを詳細にしてコンパイルして、mapファイルを生成します。 - mapファイルの先頭のNameが.textの行のStartのアドレス(通常00401000)を確認しておきます。 - エラーが発生したアドレス(この場合00601BB1)から.textの開始アドレスを引きます(16進です)(この場合00200BB1)。 - mapファイルのDetailed map of segmentsの中から0001:<そのアドレス>(この場合0001:00200BB1)よりも小さく、最も近い行を探し、右側のM=のところのユニット名を確認します。 - さらにmapファイルのPublics by Valueのなかから0001:<そのアドレス>(この場合0001:00200BB1)に最も近い行を探します。これで関数名がわかります。 - さらにmapファイルのLine numbers for <クラス名(ユニット名)> segment .textで0001:<そのアドレス>を探します。このアドレスの直前の数字がそのユニット上の行番号になります。 なおデバッグ情報がないと詳細な情報が出ないので、できればデバッグビルドにして、デバッグ版DCUを使用するようにしてコンパイルしなおした実行ファイルとmapファイルの組み合わせで試したほうがいいとは思います。 またもっと詳細にエラーが起きた状況を知りたい場合はJCL Debug Expertなどを使用する方法もあります。 Owl's perspective: JCLでお手軽に例外発生時のスタックトレースを取る http://owlsperspective.blogspot.com/2017/12/get-stacktrace-by-jcldebug.html 参考にしてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.