Я пытаюсь создать собственный аддон node js, используя node-gyp, и я использую nbind для импорта аддона в мое приложение electronic.js. Я использую третью библиотеку для создания этого дополнения, но, к сожалению, библиотека выходит из блока выполнения с помощью SIGABRT, что затем создает проблемы для моего электронного приложения. После вызова определенного метода сторонняя библиотека прерывает выполнение, отправляя SIGABRT с кодом выхода 134, из-за чего мое электронное приложение становится белым экраном.
Я чувствую, что дальнейшее выполнение кода заблокировано, электрон DevTools отключается, и экран становится полностью пустым. После этого ни одно из событий в node.js не работает.
Как мне справиться с этим SIGABRT в electronic/node.js, чтобы мое приложение не вышло из строя?
Спасибо и любая помощь будет оценена.
@t.niese Я использую метод LIBMTP_Set_File_Name библиотеки libmtp для переименования файла, и этот метод выдает ошибку malloc, несмотря на то, что все сделано правильно. Эта ошибка возникает в зависимости от используемого устройства. Есть ли способ обрабатывать SIGABRT в cpp или node.js?
Опять же, SIGABRT обычно выдается только в том случае, если библиотека обнаруживает невосстанавливаемое состояние. Обработка SIGABRT означает выяснить, что вы сделали не так, когда используете эту библиотеку, и исправить свой код. Даже если вы поймаете этот сигнал и проигнорируете его, все ваше приложение наверняка с этого момента будет в неопределенном и полностью нестабильном состоянии. И как бы вы попытались решить это состояние, если библиотека не знает, как это сделать.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


SIGABRT, скорее всего, является результатом ошибки в вашем коде, которую вы должны исправить, чтобыSIGABRTне выдавался.SIGABRTдля, например. выдается, если тестassertне пройден. Если это происходит при использовании библиотеки, это указывает на то, что вы допустили ошибку при использовании этой библиотеки, эта ошибка может быть чем-то, что не может быть разрешено с точки зрения этой библиотеки, что может привести к выходу из программы по этой причине.