我正在使用一个大型 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 的等价物?