标签: c++ gdb floating-point nan
我有一个C ++程序。在程序的某处(难以重现,但可重现),caclculation导致浮动设置为NaN。由于涉及NaN的浮点运算导致NaN,因此传播速度很快。
有什么办法可以设置编译器(gcc 4.4)或debuger(gdb)在浮点运算产生NaN时停止?这将非常有用。
谢谢! 森
PS:可能很重要:我在ubuntu linux 10.10下工作。
答案 0 :(得分:15)
您可以启用浮点例外 - 请参阅glibc Control Functions - 然后在生成SIGFPE值时获得NaN
SIGFPE
NaN