(решено)sigfpe+invalid floating point operation на контролах

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 17:10:06

Лекс Айрин писал(а):сила нажатия играет роль только в графических планшетах типа wacom-ов

Именно о таком планшете и речь.
Лекс Айрин писал(а):сила нажатия не может быть равна nil дело в том, что nil это ссылочный эквивалент нуля. Указатель никуда не указывающий.

Вот потому что, у мышки нет переменной силы нажатия, то и вызывается AV, но это предположение, т.к. с мышкой всё работает, даже после сбоя. А с графическим планшетом AV иногда выскакивает, при клике на контролы. Или наоборот, планшет посылает, какое-то лишнее значение, а Лазарус его не может обработать, т.к. "думает", что это мышка. Или лазарус посылает сигналы от мышки в драйвер планшета?
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение Лекс Айрин » 08.07.2017 17:57:48

По идее, в этом случае нужна библиотека (компонент) поддержки графического планшета. Т. к. использование эмуляции мышки здесь не рентабельно. (теряется часть информации.). А вот уже в компоненте можно эмулировать мышь. Ищи API к планшету и пиши враппер.

Непонятно тогда, как планшетом можно выбирать компоненты в программе. Верь он предназначен для рисования (черчения) и, по идее, вообще не должен видеть ничего кроме области рисования (листа).
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4021
Зарегистрирован: 19.02.2013 16:54:51

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 18:04:36

Лекс Айрин писал(а):Непонятно тогда, как планшетом можно выбирать компоненты в программе. Верь он предназначен для рисования (черчения) и, по идее, вообще не должен видеть ничего кроме области рисования (листа).

Планшет точно такая же мышка, только с силой нажатия. На этом я Вас(Лекс и Айрин) настоятельно прошу, дать возможность другим высказаться, т.к. ваших ответов - уже очень много и Ваша точка зрения ясна. А читать всё это тяжело. Возможно кто-то более опытный знает ответ или подскажет как конкретно можно найти такой сбой.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение Лекс Айрин » 08.07.2017 18:11:11

vitaly_l писал(а):Планшет точно такая же мышка, только с силой нажатия.


В этом и беда, что это немного разные устройства и воспринимать его как мышь++ ошибочно. Не думаю, что кто-то скажет тебе что-то более приятное. Иначе уже сказали бы.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4021
Зарегистрирован: 19.02.2013 16:54:51

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 18:13:58

Стек вызовов - почему-то всегда одинаковый. Независимо от того сколько я вызывал функций. Даже если программа работала пол часа, то в итоге всё равно один и тот же стек вызовов. Получается что, он заносит в стек, всегда одну и туже последовательность. И не успевает её обработать и удалить.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение Лекс Айрин » 08.07.2017 18:24:28

Он и должен быть одинаковый. И дело не в том, что она не успевает. Она не может. Стек вызовов это список методов (процедур, функций) которые привели к ошибке (или точке останова, точке пошагового выполнения).
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4021
Зарегистрирован: 19.02.2013 16:54:51

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение olegy123 » 08.07.2017 22:33:47

Виталий, где полная распечатка стэка?
olegy123
энтузиаст
 
Сообщения: 674
Зарегистрирован: 25.02.2016 12:10:20

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 22:38:09

olegy123 писал(а):Виталий, где полная распечатка стэка?

Вот она:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение zub » 08.07.2017 22:50:45

чтото похожее: https://bugs.freepascal.org/view.php?id=27274

Я думаю стоит написать багрепорт и подарить комунить из разрабов такойже девайс с "капризным" драйвером.

Если копаться самому - надо "активизировать" все выводы в лог замаскированые условной компиляцией в проблемных окресностях, добавить своих DedugLn`ов и найти рецепт воспроизведения ошибки, пока вылет "случайный" говорить особо неочем

>>Вот она:
Это не полный кусок, это последние 50 адресов
zub
долгожитель
 
Сообщения: 2206
Зарегистрирован: 14.11.2005 23:51:26

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 23:01:21

zub писал(а):Это не полный кусок, это последние 50 адресов

Нет это полный стек, т.к. там всего 41 строка из возможных 50.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение zub » 08.07.2017 23:12:57

еще спорит))
Сделай стек под gdb, выше я давал ссылку как.

Совершенно случайно - программа скомпилирована без оптимизаций? номера строк странные в стеке
zub
долгожитель
 
Сообщения: 2206
Зарегистрирован: 14.11.2005 23:51:26

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 08.07.2017 23:23:10

zub писал(а):программа скомпилирована без оптимизаций?

Без оптимизаций в стеке 44 строки (на 3 больше)

Добавлено спустя 4 минуты 29 секунд:
Re: sigfpe+invalid floating point operation на контролах лазарус
Из под GDB - это вот так: gdb Project1.exe {press enter} ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение zub » 08.07.2017 23:41:28

В тараметрах запуска добавь --debug-log=log.txt
Смотри логи. отлаживай. не скучай))
zub
долгожитель
 
Сообщения: 2206
Зарегистрирован: 14.11.2005 23:51:26

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение vitaly_l » 09.07.2017 00:02:40

zub писал(а):В тараметрах запуска добавь --debug-log=log.txt

Сделал, но лога не появилось (((
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3042
Зарегистрирован: 31.01.2012 16:41:41

Re: sigfpe+invalid floating point operation на контролах лаз

Сообщение zub » 09.07.2017 00:56:09

Записи в лог небыло, вот и не появился
zub
долгожитель
 
Сообщения: 2206
Зарегистрирован: 14.11.2005 23:51:26

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru