Page 17 of 23
Re: TinyPad 4.0.4
Posted: Mon Sep 02, 2013 12:47 am
by Leency
Программа падает после использования замены Ctrl+H
r3870, железо реальное
Путь воспроизведения ошибки:
1. нажать chtl+h
2. ввести что на что заменить (искомая фраза должна существовать)
3. нажать кнопку "заменить" или Enter
Результат: криво заменит искомую фразу, при попытке сдвинуть курсор вылетает.
Code: Select all
K : Process - forced terminate PID: 00000022 [tinypad]
K : Page fault
K : EAX : 732F3D70 EBX : 00000002 ECX : 00000007
K : EDX : 00000000 ESI : 000280B3 EDI : 000074D6
K : EBP : 00000156 EIP : 00002E44 ESP : 0000BBC0
K : Flags : 00011296 CS : 0000001B (application)
Re: TinyPad 4.0.4
Posted: Fri Sep 13, 2013 10:46 am
by Leency
Palitra 0.7.5 была полностью написана и оттестирована в самой Колибри. Это круто

Только отстутствие Crtl+Z в TinyPad'e сильно раздражает, я дважды удалил не тот код и если бы небыло backup'а, но пришлось бы загружать винду и качать с SVN.
Функционал Crtl+Z очень похож на Copy/Paste. Только Paste работает в место текущего курсора, а Crtl+Z чотко помнит место.
Re: TinyPad 4.0.4
Posted: Sun Sep 15, 2013 3:14 am
by Mario_r4
Leency wrote:Программа падает после использования замены Ctrl+H
Проблема появилась с ревизией 987. Странно, что ее раньше никто не заметил - все таки со времени выпуска дистрибутива 0.7.5.0 прошло много времени.
Поскольку ревизия с довольно объемными изменениями, то потребуется время на поиск проблемного участка.
Re: TinyPad 4.0.4
Posted: Sat Sep 21, 2013 3:22 am
by Mario_r4
Leency wrote:Программа падает после использования замены Ctrl+H
Исправлено в SVN r. 3919.
Re: TinyPad 4.0.4
Posted: Sat Sep 21, 2013 1:15 pm
by Leency
Mario_r4 wrote:Исправлено в SVN r. 3919.
Спасибо.
Re: TinyPad 4.0.4
Posted: Sun Sep 22, 2013 12:38 am
by Mario_r4
Leency wrote:Функционал Crtl+Z очень похож на Copy/Paste. Только Paste работает в место текущего курсора, а Crtl+Z чотко помнит место.
Не совсем верное представление. На самом деле алгоритм несколько сложнее, поскольку программа еще и с размерами областей памяти играется. Можно конечно попробовать через имитацию действий пользователя сделать. Хотя такой подход замедлит восстановление больших кусков удаленного текста. В общем подумать надо.
Re: TinyPad 4.0.4
Posted: Sun Sep 22, 2013 12:54 am
by SoUrcerer
Re: TinyPad 4.0.4
Posted: Tue Oct 01, 2013 9:37 am
by popovpa
Здравствуйте!
r3914
Писал программу. Файл с исходным кодом расположен на флешке. Перед тем как достать флешку несколько раз сохранял по ctrl-s (на флешку). Момент между сохранением и вытаскиванием большой, более 30 минут. Вышел из TinyPad достал флешку, подключил к другому ноутбуку с windows xp (хотел показать часть кода, чтобы задать вопрос). Открываю и вижу полную хрень! Файл в приложении. Что могло произойти?
И по моему это не первый раз, в прошлый исчезло несколько строк кода, но я не обратил внимания....подумал что забыл сохранить...
Re: TinyPad 4.0.4
Posted: Tue Oct 01, 2013 10:17 am
by SoUrcerer
На флешке, видимо, есть ошибки ФС.
Re: TinyPad 4.0.4
Posted: Tue Oct 01, 2013 10:18 am
by Mario_r4
Флешку нужно проверить на целостность файловой системы.
Re: TinyPad 4.0.4
Posted: Mon Oct 21, 2013 8:31 pm
by SoUrcerer
http://habrahabr.ru/post/197650/ - надеюсь, поможет тем, кто захочет улучшить тайнипад/написать свой редактор.
Re: TinyPad 4.0.4
Posted: Tue Oct 29, 2013 9:05 pm
by CleverMouse
popovpa wrote:Здравствуйте!
r3914
Писал программу. Файл с исходным кодом расположен на флешке. Перед тем как достать флешку несколько раз сохранял по ctrl-s (на флешку). Момент между сохранением и вытаскиванием большой, более 30 минут. Вышел из TinyPad достал флешку, подключил к другому ноутбуку с windows xp (хотел показать часть кода, чтобы задать вопрос). Открываю и вижу полную хрень! Файл в приложении. Что могло произойти?
И по моему это не первый раз, в прошлый исчезло несколько строк кода, но я не обратил внимания....подумал что забыл сохранить...
До r4133, начиная, как минимум, с r580, при инициализации дискового кеша последняя запись не обнулялась. Обычно там и так были нули, но в редких случаях появлялась возможность прочитать случайные данные вместо одного сектора или, в худшем случае, при записи перезаписать случайный сектор. Возможно, описанное поведение - следствие бага.
Точно сказать невозможно, потому что не хватает информации. В идеале к такому сообщению должен быть приложен полный дамп раздела с ошибкой. Поскольку на практике это вряд ли возможно, можно было бы приложить хотя бы начало дампа, включающее в себя таблицы FAT и корневой каталог - размером (размер раздела) / (размер кластера) * 8 для FAT плюс немного на служебные данные раздела. Кроме того, результат chkdsk/fschk нужен - одно дело, если структура файловой системы пошла вразнос и multiboot.asm указывает не туда, куда должен, другое дело, если структура файловой системы в порядке, но данные не были записаны.
Re: TinyPad 4.0.4
Posted: Wed Oct 30, 2013 8:04 am
by popovpa
Решил не использовать флешку. Создал раздел фат32 на ноутбуке. Пока проблем не наблюдал.
Re: TinyPad 4.0.4
Posted: Tue Nov 12, 2013 4:19 am
by Mario_r4
Не так то просто оказывается прикрутить
общесистемный буфер обмена, к редактору. В редакторе собственный буфер обмена хранит данные в формате:
Spoiler:
Строка 1:
dd длина строки
dw флаги
сама строка
Строка 2:
dd длина строки
dw флаги
сама строка
...
Строка N:
dd длина строки
dw флаги
сама строка
Пока не разобрался что происходит с разными идентификаторами конца строки в этом случае. Возможно они заменяются стандартными.
Придется писать подпрограмму преобразования такого "табличного" вида в обычный текст и обратно, иначе вставленный из Тинипада в буфер обмена текст будет нормально восприниматься только им самим, при вставке уже из буфера обмена. И наоборот обычный текст невозможно вставить напрямую.
З.Ы. Есть надежда, что реализация такой процедуры поможет понять как сделать откат изменений в редакторе.
Re: TinyPad 4.0.4
Posted: Thu Nov 21, 2013 9:27 pm
by 0CodErr
Открыл в TinyPad файл размером 0 байтов и нажал 5 раз клавишу Enter — программа вылетела:
Spoiler:

-
1.PNG (17.33 KiB)
Viewed 4682 times