检测整数溢出

Any*_*orn 8 c debugging operating-system

我正在使用一个大型C库,其中使用了一些数组索引int.我需要找到一种在运行时捕获整数溢出的方法,以便缩小到有问题的代码行.Libc手册说明:

FPE_INTOVF_TRAP整数溢出(在C程序中不可能,除非您以特定于硬件的方式启用溢出捕获).

但是gcc选项-ffpe-trap表明那些只适用于FP数字?
那我怎么做启用整数溢出陷阱?我的系统是Xeon/Core2,gcc-4.x,Linux 2.6

我已经查看了类似的问题,但他们都很熟悉修改代码.我需要知道哪个代码首先是有问题的.
如果Xeons无法捕获溢出,哪些处理器可以?我也可以访问非emt64机器.

我找到了一个专为llvm设计的工具:http: //embed.cs.utah.edu/ioc/ 似乎没有gcc/icc的等价物?

Any*_*orn 3

好吧,我可能必须回答我自己的问题。

我发现 gcc 有-ftrapv选项,快速测试确实确认至少在我的系统上溢出被捕获。随着我了解更多,我将发布更详细的信息,因为它似乎非常有用的工具。