ブレイクポイント – 固定ページ 2 – プログラミング – Home

通知
すべてクリア

[解決済] ブレイクポイント

固定ページ 2 / 2

ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

何か言い過ぎましたか?
ソースを全部とは言ってません。
どこか無理な計算をしているから
「-1.#IND000000000000」のエラーがでるのです。
なのでどんな計算をしているのか逆に教えて欲しいのです。
「-1.#IND000000000000」を知っているということは
デバックモードかテストで画面に表示しているのでしょうから、
そこの処理を教えてほしいのです。

これで分りますか。


返信引用
dark
 dark
(@dark)
ゲスト
結合: 20年前
投稿: 12
 

> もう無理そうなんで別のとこで聞いてみます。
MSの人に聞く以外、どこにいっても同じではなかろうか?


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

>MSの人に聞く以外、どこにいっても同じではなかろうか?
この件でなくMSに聞いたことあるけど、だめなときは断られました。
「この件は分りません。インシデントはキャンセルとさせていただきます。」
だそうです。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

何か言い過ぎたかな?
なんか気になります。


返信引用
超初心者
 超初心者
(@超初心者)
ゲスト
結合: 23年前
投稿: 139
 

焦っているんだろ。
本人からしたら、出来るかどうか判らない話で長々引っぱられるくらいなら
不可能という回答のほうがいいくらいの事態なんだろ。

そもそも
オーバーフローが起きた場所を見つけ出して対応するというより
すべての浮動小数点演算において
オーバーフロー対策しているべきなんだろうけどね。

正直、メモリの値でブレイクさせるのって
フリーズしたのかと思うくらい一向に処理が進まないので
まったく激しく使い物にならん。
特にいつどこで起きるかわからないなら使えねー

オーバーフローって__tryにもtryでもダメなんだよな。
でも、浮動小数点オーバーフロー例外を起こさせる方法が見つかったよ。
デバッガで浮動小数点オーバーフロー例外発生したら止めるように設定したら
発生場所の次をさしているけどちゃんとオーバーフローが起きるとき止められた。

ブレイクポイントじゃないので処理を続けることはできないけどね。
強制終了しかないかもね。よくわからんが。

私の結論
変数=-1.#IND000000000000で止める方法はわかりませんでした。


返信引用
超初心者
 超初心者
(@超初心者)
ゲスト
結合: 23年前
投稿: 139
 

浮動小数点制御ワードの取得と設定を行います。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

浮動小数点のオーバフローの場合は計算の方法によって変わると思います。

1. 自分で独自の計算を行う。
   本人で対処するしかないです。

2. 測定データ等を外部からもらう。
   小数点第何位かきちんと決める。
   出来たら整数値でもらってこちらのソフト上で割算する。

3. 独自の計算でも同じく最大値を決めて、計算途中でも
  その最大値を超えた場合は、オーバフローになる前に
  エラーとして処理する。

#最大値を超えたらエラーとしてはねるということは
 ユーザーと決めないといけないけど


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

> > もう無理そうなんで別のとこで聞いてみます。
> MSの人に聞く以外、どこにいっても同じではなかろうか?
御意。大体、回答者って被ってるしね。

# setjmp, longjmp あたりでオーバーフローを検知できたような気もするが、
# 気のせいかな? signal関数を使って浮動小数点エラーの検知、だっけ?


返信引用
超初心者
 超初心者
(@超初心者)
ゲスト
結合: 23年前
投稿: 139
 

なんだよ!
そりゃ値によるブレイクポイントじゃないけどさ
例外でオーバーフローの起きたところ(実際は次の行をさしているけど)で
デバッガがとめてくれる方法を見つけたっていうのに

そんな俺は浮動小数点は誤差があるからなるべく使わないが、
整数t型はもっとオーバーフローに神経使うってなはなはなははは


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました