сообщение об ошибке довольно ясно для меня, вы пытаетесь получить доступ к несуществующему элементу массива. Я подозреваю, что значение -534829264 либо нежелательно, когда вы используете неинициализированную переменную для идентификации элемента в массиве, либо результат целочисленного арифметического переполнения. В любом случае вы должны включить флаг компиляции, чтобы принудительно проверить границы массива и запустить некоторые тесты. Я думаю, что флаг для компилятора Intel будет -CB
, но проверьте документацию.
Что касается того, почему программа, по-видимому, успешно работает в отладчике, я не могу много помочь, но, возможно, отладчик накладывает некоторые значения по умолчанию на переменные, которые сама система времени выполнения не делает. Или какой-то другой фактор полностью отвечает.
EDIT:
Не система времени выполнения вам сказать, что строка кода вызывает проблемы? Еще несколько вещей, чтобы попытаться диагностировать проблему. Используйте компилятор, чтобы предупредить вас об
- использование переменных перед их инициализацией;
- целочисленное арифметическое переполнение (не уверен, может ли компилятор определить это?);
- любые принудительные преобразования от одного типа к другому и от одного вида к другому в одном и том же типе.
Кроме того, убедитесь, что размер целочисленного значения по умолчанию - это то, что вы ожидаете от него, и, что более важно, то, что ожидает от него остальная часть кода.
спасибо. Любые советы по поиску, от чего идет звонок? Боюсь, я был испорчен Visual Studio. – ccook
Благодарим вас за советы, однако это находится в выпущенной библиотеке (FISHPACK). Ошибки, которые у меня возникают, не имеют исходной информации. Я получаю что-то вроде: tblktri 00000000004A6AED Неизвестно Неизвестно Неизвестно tblktri 00000000004A55F5 Неизвестно Неизвестно Неизвестно libc.so.6 00007FAD079D6A7D Неизвестно Неизвестно Неизвестно – ccook
Thanks Mark. Я сделал именно это. Я также использовал их тестовый пример, поэтому весь их код. Я прошел через код, и они, похоже, являются ошибкой вычисления индекса по одному из методов. Я не уверен, что его единственное представление, потому что я использую другой компилятор, чем они.Я отправил по электронной почте автору то, что я нашел. Спасибо за помощь! – ccook