Обработка SIGABRT в приложении Electron.js/Node.js

Я пытаюсь создать собственный аддон node js, используя node-gyp, и я использую nbind для импорта аддона в мое приложение electronic.js. Я использую третью библиотеку для создания этого дополнения, но, к сожалению, библиотека выходит из блока выполнения с помощью SIGABRT, что затем создает проблемы для моего электронного приложения. После вызова определенного метода сторонняя библиотека прерывает выполнение, отправляя SIGABRT с кодом выхода 134, из-за чего мое электронное приложение становится белым экраном.

Я чувствую, что дальнейшее выполнение кода заблокировано, электрон DevTools отключается, и экран становится полностью пустым. После этого ни одно из событий в node.js не работает.

Как мне справиться с этим SIGABRT в electronic/node.js, чтобы мое приложение не вышло из строя?

Спасибо и любая помощь будет оценена.

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

t.niese 21.02.2019 08:23

@t.niese Я использую метод LIBMTP_Set_File_Name библиотеки libmtp для переименования файла, и этот метод выдает ошибку malloc, несмотря на то, что все сделано правильно. Эта ошибка возникает в зависимости от используемого устройства. Есть ли способ обрабатывать SIGABRT в cpp или node.js?

Ganesh Rathinavel 21.02.2019 08:41

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

t.niese 21.02.2019 08:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
1 162
0

Другие вопросы по теме