Обнаружение целочисленного переполнения

Я работаю с большой библиотекой C, где некоторые индексы массива вычисляются с использованием int. Мне нужно найти способ перехватывать целочисленные переполнения во время выполнения таким образом, чтобы сузить проблемную строку кода. В руководстве по Libc указано:

FPE_INTOVF_TRAP Целочисленное переполнение (невозможно в программе на языке C, если только вы не активируете отлов переполнения аппаратно-зависимым способом).

однако опция gcc -ffpe-trapпредполагает, что они применимы только к номерам FP?
Итак, как мне включить ловушку целочисленного переполнения? У меня система Xeon/Core2, gcc-4.x, Linux 2.6

. Я просмотрел похожие вопросы, но все они сводятся к модификации кода. Однако мне нужно знать, какой код проблематичен в первую очередь.
Если процессоры Xeon не могут перехватывать переполнения, то какие процессоры могут? У меня также есть доступ к машинам, отличным от-emt64.

Тем временем я нашел инструмент, предназначенный для llvm.:http://embed.cs.utah.edu/ioc/ Похоже, однако, что нет эквивалента для gcc/icc?

8
задан Anycorn 17 April 2012 в 23:13
поделиться