Комплект для разработки электрических схем

Раздел посвящен обсуждению вопросов разработки DLL-модулей подвижного состава
andreykod
Сообщения: 50
Зарегистрирован: 17 фев 2020, 11:21
Город: Москва
Настоящее имя: Андрей

Re: Комплект для разработки электрических схем

Сообщение andreykod » 17 апр 2020, 10:13

Недавно выпустили новую общедоступную версию версию simulide, пофиксили визуализацию светодиодов. Раньше скорость обновления светодиода не было привязано к общей скорости, в результате чего светодиод тормозил обработку банальным таймером. В программе были и другие изменения, но я не стал применять их. В итоге, я просто пропатчил текущую версию. В ближайшее время залью на гитхаб вьювер. Оригинал имеет svn репо на sourceforge, никаких правок туда не вносится еще с позапрошлой версии, соурс просто лежит в соседнем архиве.

andreykod
Сообщения: 50
Зарегистрирован: 17 фев 2020, 11:21
Город: Москва
Настоящее имя: Андрей

Re: Комплект для разработки электрических схем

Сообщение andreykod » 18 апр 2020, 13:33

Встречаем github репозиторий c viewer 'ом. Сборка спокойно собирается в linux, из изменений для кроссплатформенности:
Двумя сообщениями выше описан ID переменной для проверки загрузки схемы, я изменил его на "checkmem", привел меня segmentation fault к этой переменной, возможно это осталось после неудачного завершения программы, но в дальнейшем могут появиться другие проверочные переменные, поэтому теперь будет "checkmem". Сейчас я пытаюсь избавиться от ненужных splitter ов, оставшихся после удаления элементов gui.

andreykod
Сообщения: 50
Зарегистрирован: 17 фев 2020, 11:21
Город: Москва
Настоящее имя: Андрей

Re: Комплект для разработки электрических схем

Сообщение andreykod » 18 апр 2020, 14:23

Заметил очень неприятную вещь. После изучения SIGSEGV, выяснил, что элементы общей памяти не отключаются при этом, повторный запуск приводит к SIGSEGV, отключение (detatch) не работает, видимо, потому что владельцем переменной был старый процесс и теперь сегмент никак не очистить. Обработка handler'ом ничего не дает, он запускается в отдельном потоке, и может он память отключить только от себя. В таком случае только перезаход в систему, это 100 % очистит от осиротевших переменных. Помню, дискуссия на хабре и лоре была по этому поводу (удаление осиротевших переменных) там вроде скрипт запускали, он у меня где-то лежит, но толку то от него в винде.

Ответить

Вернуться в «Программирование модулей подвижного состава и оборудования (C++ API)»