Fast Search Engine (wfx-плагин)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Знаю. В Дельфи это есть. Применяется, Но не помогает.---Добавлено. Нет, вру. Есть одна идея для тебя. Общего плана. Я не знаю как в дельфях, но в С++ есть конструкция try/catch. Позволяет перехватывать любую ошибку в определенном куске кода. Если аналогичная конструкция есть в Дельфи, то стOит все вызовы плагинов (включая LoadLibary!) поставить внутрь такой конструкции.
Да, кстати плаг работает. Сам по себе. Так что при чем тут отличия билдов
OK, присылай новую версию
Конечно, работает. В ТС. Там где есть окно "TTOTAL_CMD". А вот если его нет... Грубо говоря в DllMain есть такой код:Да, кстати плаг работает. Сам по себе. Так что при чем тут отличия билдов
Код: Выделить всё
if (TTOTAL_CMD_NotFound)
{
AbortPluginLoading();
}Но это все беллетристика. Я завтра посмотрю, где там собака порылась. Куда слать-то?
А вот это уже очень странно. Специально сейчас проверил - если плагин не желает загружаться в ТС, то ТС просто сообщает "Error loading plugin". И не валится.В Дельфи это есть. Применяется, Но не помогает.
Я присмотрелся - тут, вообще, что-то странное происходит. Plugman-то валится гораздо позже! Он благополучно сообщает, что плагин установлен, я нажимаю ОК, Plagman возвращается в основное окно (в нем видно, что плагин FSE появился в списке) и только после этого валится. Так что может все начинается с моего плагина, но падеж с этим связан весьиа косвенно.Там скорее всего, креш такой,
Alextp, ты не смотрел, в тот момент когда дебаггер ловит крэш, что находится в стеке вызова?
Plagman возвращается в основное окно (в нем видно, что плагин FSE появился в списке) и только после этого валится. Так что может все начинается с моего плагина, но падеж с этим связан весьиа косвенно.
Именно. Косвенно!
И не факт что твой плаг виноват: может, я зря сюда пишу
Нет: я в этом не оченьAlextp, ты не смотрел, в тот момент когда дебаггер ловит крэш, что находится в стеке вызова?
Ну это философский вопрос. В данном случае мне неважно "кто виноват", важно "что делать".И не факт что твой плаг виноват: может, я зря сюда пишу
Я, со своей стороны, могу завтра довести свой плаг до состояния, когда падежа не будет. Вопрос - хочешь ли ты все-таки выяснить из-за чего все валится и предотвратить это на будущее. Если да - я готов помочь, чем требуется.
А если try/catch не ловит эксепшн, то с моей точки зрения, это говорит только об одном - это происходит в коде, который не находится внутри try. Ведь ТС не валится. Искать это место можно двумя способами. Первый - через стек вызовов, второй - трассировкой, отладочной печатью. В таких случаях я обычно использую вывод через OutputDebugString и утилиту DebugView.
Стек вызовов ничего не дает:
тестируем:
тестируем:
Давай попробую новый build.1. Креш при установке Mobile.wfx, при вызове FsGetDefRootName.
При одиночной уст. этого плага все OK
Удаляем fse, пробуем снова: все OK
2. Креш неизвестно где: стек вызовов пустой.
В коде вот что:
xor eax, eax
mov [eax], ecx
push eax
То есть *полная* фигня. Запись по нулевому адресу. Откуда это.
Это уже не установка mobile.wfx, а какой-то другой плаг.
Удаляем fse, пробуем снова: все OK
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Выпущена версия 1.15.
Основных изменений два. Во-первых, наконец сделал диалог настроек. Во-вторых - добавлена возможность сохранять результат поиска в файл и загружать обратно.
Лежит все там же
Основных изменений два. Во-первых, наконец сделал диалог настроек. Во-вторых - добавлена возможность сохранять результат поиска в файл и загружать обратно.
Лежит все там же
Вопросы:
1) В диалоге настроек у меня нельзя выбрать базу + не сохраняется галка "Отдельный тред" - так и должно быть?
2) После поиска получается, что некоторых файлов в результирующем списке в реале нет - у них стоит красный крестик и размер нулевой - но в самой Locate32 при том же поиске в той же базе эти же файлы видны - да и на диске их можно найти и посмотреть.
Базу только что обновил.
Версия плагина отсюда - 1.0.0.15.
Версия программы - 3.0.7.7010.
Windows 2000 SP4, NTFS.
1) В диалоге настроек у меня нельзя выбрать базу + не сохраняется галка "Отдельный тред" - так и должно быть?
2) После поиска получается, что некоторых файлов в результирующем списке в реале нет - у них стоит красный крестик и размер нулевой - но в самой Locate32 при том же поиске в той же базе эти же файлы видны - да и на диске их можно найти и посмотреть.
Базу только что обновил.
Версия плагина отсюда - 1.0.0.15.
Версия программы - 3.0.7.7010.
Windows 2000 SP4, NTFS.
Xubuntu
1. В каком смысле "нельзя выбрать базу"? тоже не сохраняется? Или физически невозможно выбрать?
2. Можно как-то получить эту базу? Разумеется, вместе с примерами таких "неправильных" файлов.
Кстати, недавно вышла очередная версия Locate32. http://fileforum.betanews.com/detail/Lo ... 44509669/1
В частности пофиксен очень противный баг связанный с использованием нескольких баз.
2. Можно как-то получить эту базу? Разумеется, вместе с примерами таких "неправильных" файлов.
Кстати, недавно вышла очередная версия Locate32. http://fileforum.betanews.com/detail/Lo ... 44509669/1
В частности пофиксен очень противный баг связанный с использованием нескольких баз.