Crash exe

Простейшие вопросы в области инженерной разработки
Fancnc
assistant
assistant
Сообщения: 147
Зарегистрирован: 15 ноя 2011, 22:39
Версия LabVIEW: 2018, 2020
Откуда: СПб
Контактная информация:

Re: Crash exe

Сообщение Fancnc »

Это библиотека lcard. Нельзя прерывать данные на середине измерений, если так прерывать, то железо находится в "третьем" состоянии и при повторном обращении, может повезти, а может и нет. Обязательно нужно закрывать после каждого обращения.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

Нельзя прерывать данные на середине измерений
Abort не используется в исходниках.
Падает программа то не при прерывании, а в процессе замера, да и третьего состояния нет, библиотека закрывается каждый раз в подпрограмме.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Crash exe

Сообщение Blackman »

Сделайте небольшое приложение только для ввода с железки и запустите его в режиме отладки.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Crash exe

Сообщение dadreamer »

Blackman писал(а):Сделайте небольшое приложение только для ввода с железки и запустите его в режиме отладки.
Можно даже сделать несколько простеньких программ, каждая из которых работает только со своей железкой. И каждую протестировать сперва в IDE по полной, потом в RTE. Проверьте также потребление памяти в диспетчере задач, вдруг где-то утечка идёт.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

Blackman Вчера, 21:40
Сделайте небольшое приложение только для ввода с железки и запустите его в режиме отладки.
А что за режим отладки?
dadreamer Вчера, 22:04
Можно даже сделать несколько простеньких программ, каждая из которых работает только со своей железкой. И каждую протестировать сперва в IDE по полной, потом в RTE. Проверьте также потребление памяти в диспетчере задач, вдруг где-то утечка идёт.
В том то и дело, что по отдельности все работает(делал отдельно 3 ехе на каждый замер ).Утечек памяти нет.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

Имя модуля с ошибкой: lvrt.dll
Версия модуля с ошибкой: 12.0.1.4010
Код исключения: с0000005
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Crash exe

Сообщение dadreamer »

Yurets писал(а):Имя модуля с ошибкой: lvrt.dll
Версия модуля с ошибкой: 12.0.1.4010
Код исключения: с0000005
Это мало о чём говорит. Понятно только, что версия RTE - 12, а ошибка - access violation. Такая ошибка происходит при повреждении стека, когда делается попытка чтения/записи области памяти, куда у программы нет доступа. Обычно это работа с указателем, который был финализирован.

Есть вариант с отладкой через дебаггер типа olly, но я его не предлагаю, ибо это трудоемко и не всегда может дать хоть какой-то результат. Но если интересно, то посмотрите здесь: http://labviewportal.org/viewtopic.php?p=65006#p65006

Попробуйте написать в NI, может, они что-то посоветуют. Иногда они помогают в таких случаях.

И всё-таки, пробовали ли вы запускать прогу на других ОС и на других :labview: ?
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

И всё-таки, пробовали ли вы запускать прогу на других ОС и на других :labview: ?
Нет, но теперь придется
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

Здравствуйте уважаемые форумчане у меня хорошая новость, уйду на выходные счастливым.
Вообщем перекинул всю установку на другой пк, всё установил, запускаю и опять падает ехе.
Тут то стало ясно, что дело темное, т.е. дело в коде.Пока его шерстил попутно увеличил скорость программы на 1,5 секунды за замер!!!!(было около 10). А ошибка оказалась в том, что незнаю как пока сформулировать это, но главное я её нашел. В понедельник попрошу Вашей помощи. :bye:
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Crash exe

Сообщение Blackman »

Если бы был элементарный лог хода выполнения операций контроля параметров прибора в текстовый файл на диске место появления ошибки можно было бы определить за 5 мин. просмотром лог файла.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

Если бы был элементарный лог хода выполнения операций контроля параметров прибора
Выяснилось, что дело не в приборах, т.к. даже если программа вылетает- значения измеряемых параметров(без ошибок) все равно пишутся в файл.
A возможно, что ехе будет вылетать,если в подпрограмме(uprcehnybezobr.vi что сюда скидывал) формируется массив с данными, с которыми работает основная программа и,если ветка false, то в основную программу данные не поступают? Т.е. по сути обрабатывать нечего и вылетает?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Crash exe

Сообщение dadreamer »

Yurets писал(а):A возможно, что ехе будет вылетать,если в подпрограмме(uprcehnybezobr.vi что сюда скидывал) формируется массив с данными, с которыми работает основная программа и,если ветка false, то в основную программу данные не поступают? Т.е. по сути обрабатывать нечего и вылетает?
:labview: достаточно умён, чтобы не упасть из-за пустых массивов. В таком случае, как у вас сделано, при ветке False в основную программу будут переданы старые значения этих индикаторов. Вообще, в SubVI все выходные индикаторы принято выносить ЗА все Case структуры, циклы и прочее. А в кадре False просто на эти индикаторы подаются дефолтные или пустые значения.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Crash exe

Сообщение Blackman »

... библиотека закрывается каждый раз в подпрограмме.
Если Вы сразу же после измерения обратного тока попадаете в False Case, то библиотека не закрывается. По крайней мере в выложенном :vi: функция закрытия находится в True Case.
Yurets
advanced
advanced
Сообщения: 180
Зарегистрирован: 03 дек 2014, 12:36
Версия LabVIEW: 7.1;12
Контактная информация:

Re: Crash exe

Сообщение Yurets »

По крайней мере в выложенном :vi: функция закрытия находится в True Case.
спасибо, действительно так, исправил, но от вылетов не спасло.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Crash exe

Сообщение Blackman »

Выяснилось, что дело не в приборах, т.к. даже если программа вылетает- значения измеряемых параметров (без ошибок) все равно пишутся в файл.
Можете объяснить это подробнее?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»