我正在使用一个大型C库,其中一些数组索引使用int计算.
我需要找到一种在运行时捕获整数溢出的方法,以便缩小到有问题的代码行. Libc手册说明:
我需要找到一种在运行时捕获整数溢出的方法,以便缩小到有问题的代码行. Libc手册说明:
FPE_INTOVF_TRAP
Integer overflow (impossible in a C program unless you enable overflow trapping in a hardware-specific fashion).
但是gcc选项-ffpe-trap表明那些只适用于FP号?
那么我如何启用整数溢出陷阱?我的系统是Xeon / Core2,gcc-4.x,Linux 2.6
我查看了类似的问题,但他们都很熟悉修改代码.我需要知道哪个代码首先是有问题的.
如果Xeons无法捕获溢出,哪些处理器可以?我也可以访问非emt64机器.
我找到了一个专为llvm设计的工具:http://embed.cs.utah.edu/ioc/
然而,似乎没有gcc / icc的等价物?
解决方法
好吧,我可能要回答我自己的问题.
我发现gcc有-ftrapv选项,快速测试确认至少在我的系统溢出被困.我将发布更详细的信息,因为我知道更多,因为它似乎是非常有用的工具.