Ошибка калькулятора Windows 7

Тема в разделе "WASM.SOFTWARE", создана пользователем Intro, 4 апр 2025 в 15:11.

Метки:
  1. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    В общем тут, программирую как обычно, делаю таблицу для косинусов...
    Надо вычислить выражение 1/(17*18), вставляю через буфер обмена в кальк, нажимаю равно, нажимаю [F-E], эта кнопка переключает на экспоненциальный вид, и тут выскакивает ошибка, работа калка аварийно завершается. Результат:
    0,00326797385620915032679738562092
    Если нажать эту кнопку то авария, в других случаях всё нормально.
    Что это такое вообще?
    Причём есть скопировать это число, и нажать [F-E] то ошибки не наблюдается. Баг вылезает именно после такой операции, т.е. вычисление выражения, далее нажимает эту кнопку и ошибка.
    Я так понял переполнения буфера в стеке.
    2025-04-04_15-09-32.png
     
  2. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    559
    ??
     
  3. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    alex_dz, кнопка такая на форме.
    --- Сообщение объединено, 4 апр 2025 в 17:24 ---
    Естественно калькулятор в инженерном режиме. Вероятно в 10-ке такого бага нет, но это надо проверить.
     
  4. Research

    Research Active Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    205
    Аккуратнее с calc.exe

     
  5. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    Вероятно баг связан с самим числом.
    3,26797385620915032679738562092e-3
    2,6315789473684210526315789473684e-3
    Как видно само проблемное число в виде строки, короче на два символа, вот где-то тут и происходит ошибка. Непонятно как это происходит, надо реверсить, но мне что-то не очень охота этим заниматься. Да и исходники бы раздобыть, именно этой версии калька. Новая версия калька для 10-ки лежит на гитхабе, а вот, есть ли старая версия, не понятно.
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.026
    Исключение в нтдлл происходит, так что неплохо было бы и ее исходники.
    А кому-то наверное очень охота.
     
  7. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    Кстати, ошибка происходит если и вводить и через буфер обмена, так и просто вручную вводит это выражение. Кстати, ктонить проверил на кальке из 10 и 11?
    Переключаем в инженерный режим, вводит: 1/(17*18) = , и в углу есть кнопка [F-E], нажимаем её. Если кальк не отвалился, значит всё в порядке. Должно появиться:
    3,26797385620915032679738562092e-3
    У меня на этой оси просто завершается, и всё. А на работе винда выдаёт сообщение и запускает отладчик студии.
     
  8. Research

    Research Active Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    205
    На 10 не отваливается, выводит 3,26.
     
  9. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    Research, значит не то сделал, должно появиться именно в экспоненциальном виде, хотя бы округлённом. Если просто так подсчитать, то ничего не падает, баг возникает именно если вычислить это выражение, и перевести в эксп. форму. При этом, длинна строки числа, меньше на два символа чем обычно, что очень странно, строка то меньше буфера, что пошло не так.
    ЗЫ
    А вообще, давно мечтаю свой калькулятор сделать, именно на замену калькуляторов Win-95 .. Win-12. Да, предполагаю поддержку всех ОСей винды. Но когда руки дойдут не понятно.
     
  10. Research

    Research Active Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    205
    Intro, имею в виду 3,26.. в экспотенциалтной форме, не стал все цифры писать. В 10 в кальк. свистелок-перделок напихали, например вывод графиков, раньше вроде не было, наверно параллельно и профиксили этот баг.
    --- Сообщение объединено, 4 апр 2025 в 20:32 ---
    В прошлом году пытался крестики-нолики сделать, заранее прописывая всех правил. Там есть непобедимая стратегия, как надо правильно ходить. Думал потом с нейронкой что-то придумаю как её научить. В итоге то ли задача оказалось сложнее чем я предполагал, толи я не такой хороший пограмист как себе кажусь. Хз как нейронку прикрутить к этой игре..) Может можно потом и шашки на ней сделать :)
     
    Последнее редактирование: 4 апр 2025 в 20:55
  11. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    Да, в 10-ке такого бага нет, нормально считает, и переводит экспоненциальную форму, вспомнил что у бати 10-ка на ноуте. Баг только в калькуляторе 7-ки. Хотя может и ХР тоже, для этого надо свою старую шарманку сейчас запустить.
     
  12. schuler

    schuler New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2021
    Сообщения:
    11
    В XP x86 не падает
     
  13. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    schuler, да, сейчас шарманка долго выходила из коматоза(долго не включал). Проверил, ничего не падает, хоть набирай кнопками, хоть вставляй выражение из буфера обмена. Значит бат только в 7-ке, вряд ли есть в висте и 8-ке.
     
  14. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    559
    7kи тоже разные бывают...

    7
    7sp1
    7 32
    7 x64
    7 ESU 1/2/3
    ...

    у вас что за версия
     
  15. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    649
    alex_dz, Сборка 7601, СП 1, х64 конечно. Надо бы 10-ку сюда, но пока 7-ка.
     
  16. MaKsIm

    MaKsIm Active Member

    Публикаций:
    0
    Регистрация:
    11 фев 2008
    Сообщения:
    161
    Windows 7 x32 с последующим вручную накатом SP1 - ошибка есть. Но где и какая не смотрел. Просто закрывается кальк.
    Windows 7 x64 Pro с уже имеющимся на борту SP1 до установки. Все тоже самое. Кальк закрывается.
    И это все на VirtualBox после вычисления 1/(17*18).