Полное объяснение проблем, окружающих числа с плавающей точкой, дано в статье , Что Каждый Программист Должен Знать Об Арифметике С плавающей точкой .
Если процесс завис из-за того, что никакой другой сигнал не проходит, вы можете рассмотреть возможность запуска его из отладчика, вместо того, чтобы пытаться подключиться к нему во время выполнения.
Также , это может быть полезно для других тактик отладки, таких как отключение определенных частей кода, чтобы выяснить минимальный случай, в котором он все еще воспроизводится, чтобы увидеть, что вызывает его лучше.
См. Мой ответ на этот вопрос SO , используйте Products.signalstack . Он регистрирует тот же обработчик, что и ответ, который вы уже нашли, во время регистрации продукта. Возможно, это сработает для вас.
Если нет, то, вероятно, у вас на руках проблема ввода-вывода на уровне ОС, и ваша единственная надежда - подключить gdb к процессу. Поиск ответов gdb в стеке; здесь много информации!
Вы можете попытаться подключить отладчик к запущенному процессу. См. Также этот вопрос .