1

Я сейчас много раз удалял и устанавливал разные gnuplots. Однако теперь gnuplot с qt вылетает при запуске, если я просто запускаю

gnuplot -e "plot 'data.dat'"

Сбой происходит так, что окно qt открывается вскоре после команды, но происходит сбой примерно через 0,01 секунды, так что я вижу только моргание окна. Моя система OSX Yosemite, и я выполнил установку с помощью brew.

Я удалял его много раз и переустанавливал, но проблема сохраняется. Я обновил свою систему. Мой .gnuplotrc пуст.

Как вы можете получить логи о внутренностях gnuplot? Я хочу посмотреть, что происходит не так.

1 ответ1

1

Прежде всего вы должны быть уверены, что gnuplot рушится. Для этого просто запустите вашу команду и после спросите у оболочки код завершения с echo $?

gnuplot -e "plot 'data.dat'"
echo $?

  • Если он возвращает 0 это означает, что выполнение завершено без ошибок. Параметр -persist может исправить вашу проблему.

    gnuplot -persist -e "plot 'data.dat'" 
    
  • Если он возвращает число, отличное от 0 это означает, что произошел сбой.
    Из этой вики-книги вы можете прочитать несколько советов:

    Для отладки файла gnuplot часто полезно:

    • Измените терминал на интерактивный (вместо вывода в файл), закомментировав установленные терминал и выходные строки.
    • Запустите gnuplot интерактивном режиме, затем загрузите нужный файл.
    • Поместите pause -1 (pause до возврата каретки) в конец файла, затем запустите его из командной строки.
    • В качестве альтернативы, запустите gnuplot с ключом командной строки -persist , чтобы gnuplot завершил работу , но окно сохранилось.
    • Сделайте сам файл исполняемым, shebang (#!) запись (зависит от точного пути): #!/usr/bin/gnuplot -persist

    Я могу добавить, что вы можете вызывать gnuplot с последним параметром dash, чтобы оставаться в интерактивном режиме после завершения сценария.

    gnuplot filename.gp - ` 
    

    Затем вы можете начать делить ваш сценарий, пока не найдете ошибку (или вы можете написать в некоторых точках строки, как print "here I am #1" ... print "here I am #n" , выполнить его и прочитать последний здесь Я #).

Последнее примечание:

Существует debug terminal gnuplot который, если он включен в вашей версии, может помочь в процедуре отладки. Отсюда можно прочитать об этом

Этот терминал предназначен для отладки gnuplot. Это может быть полезно только для пользователей, которые изменяют исходный код

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .