Остановка отладчика при создании числа с плавающей запятой NaN - PullRequest
12 голосов
/ 22 марта 2011

У меня есть программа на C ++. Где-то в программе (трудно воспроизвести, но можно воспроизвести), отсчеты приводят к тому, что для поплавка устанавливается значение NaN. Поскольку операция с плавающей запятой, включающая NaN, приводит к образованию NaN, она распространяется быстро.

Есть ли способ настроить компилятор (gcc 4.4) или отладчик (gdb) для остановки, когда операция с плавающей запятой приводит к NaN? Это было бы чрезвычайно полезно.

Спасибо! Nathan

PS: Это может иметь значение: я работаю под Ubuntu Linux 10.10.

1 Ответ

15 голосов
/ 22 марта 2011

Вы можете включить исключения с плавающей запятой - см. Функции управления glibc - тогда вы получите SIGFPE при получении значения NaN

...