Como rastrear um NaN em C ++

Vou fazer alguns cálculos matemáticos usando C ++. O número do ponto flutuante de entrada é um número válido, mas após os cálculos, o valor resultante é NaN. Gostaria de rastrear o ponto em que o valor NaN aparece (possivelmente usando GDB), em vez de inserir muitosisNan() no código. Mas descobri que mesmo códigos como esse não acionam uma exceção quando um valor NaN aparece.

double dirty = 0.0;
double nanvalue = 0.0/dirty;

Alguém poderia sugerir um método para rastrear o NaN ou transformar um NaN em uma exceção?

questionAnswers(4)

yourAnswerToTheQuestion