[delphi-users:4385] 一旦エラーが発生するとアプリ再起動してもエラー、の原因箇所特定方法

431 views
Skip to first unread message

OE

unread,
Feb 17, 2016, 1:13:29 AM2/17/16
to delphi...@freeml.com
こんにちは、OEです。
漠然とした質問で申し訳ないのですが...

[環境] Delphi10 / Windows7 / フォームアプリ

下記のような流れのアプリを作成しました。
1~4を10回ほど繰り返すと必ずエラーが発生してしまいます。
(エラー内容を下に転記しました)
さらに、一旦エラーが発生すると、以降、アプリの再起動を行っても
必ず4の処理がされる前にエラーとなります。
そして完全な復帰にはWindowsの再起が必要となります。

こういう状況なのですが、この原因箇所を見つけるのに、
何か良い方法はありますでしょうか。
ステップ実行してエラー箇所を突き止めようかと考えましたが、
そこが原因だと判断する方法がわかりませんでした。

何か良い発見方法がありましたら、ご助言頂けると助かります。
よろしくお願いします。

■アプリの流れ
 1.読み込みたいCSVファイルを選択
 2.StringGrid_1に読み込まれる
 3.読み込まれたデータをもとに多くの計算処理が行われる
 4.計算結果がStringGrid_2に表示される

■エラー内容
・エラー内容1
 プロジェクト Project.exe は例外クラス $C0000005
  (メッセージ 'access violation at 0x00405a13:
 read of address 0x00000000')を送出しました。

・エラー内容2
 モジュール 'Project.exe' のアドレス 00405A13 で
 アドレス 00000000 に対する読み取り違反がおきました。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n5PJZ
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 17, 2016, 1:46:49 AM2/17/16
to delphi...@freeml.com
> こういう状況なのですが、この原因箇所を見つけるのに、
> 何か良い方法はありますでしょうか。

・FastMM でフルデバッグを行う
・AV アドレスから逆引きする
ですかね?

[メモリマネージャー FastMM の導入 (Mr.XRAY)]
http://mrxray.on.coocan.jp/Delphi/Others/UsageFastMM.htm

[GetAVPos (Delphi Forum)]
http://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=1566

--
by DEKO
-----------------------------
http://ht-deko.com/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n5Qf8
------------------------------------------------------[freeml byGMO]--

Fukushi

unread,
Feb 17, 2016, 2:22:16 AM2/17/16
to delphi...@freeml.com
OEさん、こんにちは。福士です。

> こういう状況なのですが、この原因箇所を見つけるのに、
> 何か良い方法はありますでしょうか。

DEKOさんが指摘した項目に加えて、コンパイラオプションでオーバ
フローチェックと範囲チェックを有効にしてみてはいかがでしょう。
設定はプロジェクトオプションのDelphiコンパイラ|コンパイルページの
実行時エラーのところにあります(デフォルトではいずれもfalseのはず)。

---
東洋テクニカルシステム株式会社 システム開発部 福士 光
Hikaru Fukushi (Toyo Technical System Inc.)
mailto:fuk...@tts-inc.co.jp


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n5Q4p
------------------------------------------------------[freeml byGMO]--

OE

unread,
Feb 17, 2016, 3:11:51 AM2/17/16
to delphi...@freeml.com
DEKOさん,
早速のお返事ありがとうございます。
ひとまずGetavposを使わせて頂いて、
サイトのサンプルコード(SL.Clear;)で動作確認したのですが…

結果がこうなってしまいました。
 [Content]
 Unit: Vcl.Controls
 File: Vcl.Controls.pas
 Line: 12505

コンパイル環境(Delphi10,XE7)を変えてみたり、
実行環境(Win7 64bit,32bit) を変えてみたりしましたが結果は
変わらずなのです。

もし何か原因が想像つきましたら、また教えて下さい。
よろしくお願いします。


>FastMM でフルデバッグを行う
これも是非習得したい手法ですね。
とりあえずやってみたところ、
FastMM4 cannot install since memory has already
been allocated through the default memory manager.
と言われてしまいました。
調べてみます。




MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n5RcI
------------------------------------------------------[freeml byGMO]--

OE

unread,
Feb 17, 2016, 3:59:18 AM2/17/16
to delphi...@freeml.com
福士さん、こんばんは。

早速、オーバフローチェックと範囲チェックをONにしてみました。
ファイルを1個読み込んだだけで範囲チェックエラーが出現。
これが消えるように頑張ります。

ありがとうございました。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n5RGn
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages