View previous topic :: View next topic |
Author |
Message |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Apr 14, 2007 18:04 Post subject: |
|
|
Quote: | ---Добавлено. Нет, вру. Есть одна идея для тебя. Общего плана. Я не знаю как в дельфях, но в С++ есть конструкция try/catch. Позволяет перехватывать любую ошибку в определенном куске кода. Если аналогичная конструкция есть в Дельфи, то стOит все вызовы плагинов (включая LoadLibary!) поставить внутрь такой конструкции. |
Знаю. В Дельфи это есть. Применяется, Но не помогает.
Да, кстати плаг работает. Сам по себе. Так что при чем тут отличия билдов
OK, присылай новую версию _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Apr 14, 2007 18:51 Post subject: |
|
|
Quote: | Да, кстати плаг работает. Сам по себе. Так что при чем тут отличия билдов | Конечно, работает. В ТС. Там где есть окно "TTOTAL_CMD". А вот если его нет... Грубо говоря в DllMain есть такой код:
Code: | if (TTOTAL_CMD_NotFound)
{
AbortPluginLoading();
} | Вот в этой функции AbortPluginLoading и сидит тот код, который исполняется при загрузке плагина через Plugman и в разных билдах ведет себя по разному.
Но это все беллетристика. Я завтра посмотрю, где там собака порылась. Куда слать-то?
Quote: | В Дельфи это есть. Применяется, Но не помогает. | А вот это уже очень странно. Специально сейчас проверил - если плагин не желает загружаться в ТС, то ТС просто сообщает "Error loading plugin". И не валится. |
|
Back to top |
|
 |
funduk

Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Sat Apr 14, 2007 19:22 Post subject: |
|
|
Alextp wrote: | Применяется, Но не помогает. | Быть не может =) Или в дельфи нет конструкции, ловящей любое исключение вне зависимости от его типа? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Apr 14, 2007 19:42 Post subject: |
|
|
funduk
Оно не то что **вообще не помогает.
Оно не помогает в данном случае.
Там скорее всего, креш такой, что объект исключения (в Дельфи исключения есть объекты!) даже создасться не может. Такое бывает, если креш "слишком сильный". _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Apr 14, 2007 20:29 Post subject: |
|
|
Quote: | Там скорее всего, креш такой, | Я присмотрелся - тут, вообще, что-то странное происходит. Plugman-то валится гораздо позже! Он благополучно сообщает, что плагин установлен, я нажимаю ОК, Plagman возвращается в основное окно (в нем видно, что плагин FSE появился в списке) и только после этого валится. Так что может все начинается с моего плагина, но падеж с этим связан весьиа косвенно.
Alextp, ты не смотрел, в тот момент когда дебаггер ловит крэш, что находится в стеке вызова? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Apr 14, 2007 20:44 Post subject: |
|
|
Quote: | Plagman возвращается в основное окно (в нем видно, что плагин FSE появился в списке) и только после этого валится. Так что может все начинается с моего плагина, но падеж с этим связан весьиа косвенно. |
Именно. Косвенно!
И не факт что твой плаг виноват: может, я зря сюда пишу
Quote: |
Alextp, ты не смотрел, в тот момент когда дебаггер ловит крэш, что находится в стеке вызова? |
Нет: я в этом не очень _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Apr 14, 2007 22:38 Post subject: |
|
|
Quote: | И не факт что твой плаг виноват: может, я зря сюда пишу | Ну это философский вопрос. В данном случае мне неважно "кто виноват", важно "что делать".
Я, со своей стороны, могу завтра довести свой плаг до состояния, когда падежа не будет. Вопрос - хочешь ли ты все-таки выяснить из-за чего все валится и предотвратить это на будущее. Если да - я готов помочь, чем требуется.
А если try/catch не ловит эксепшн, то с моей точки зрения, это говорит только об одном - это происходит в коде, который не находится внутри try. Ведь ТС не валится. Искать это место можно двумя способами. Первый - через стек вызовов, второй - трассировкой, отладочной печатью. В таких случаях я обычно использую вывод через OutputDebugString и утилиту DebugView. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Apr 14, 2007 23:18 Post subject: |
|
|
Посмотрю стек вызовов. Завтра поставлю плаг, еще раз посмотрю. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sun Apr 15, 2007 00:34 Post subject: |
|
|
Стек вызовов ничего не дает:
тестируем:
Quote: | 1. Креш при установке Mobile.wfx, при вызове FsGetDefRootName.
При одиночной уст. этого плага все OK
Удаляем fse, пробуем снова: все OK
2. Креш неизвестно где: стек вызовов пустой.
В коде вот что:
xor eax, eax
mov [eax], ecx
push eax
То есть *полная* фигня. Запись по нулевому адресу. Откуда это.
Это уже не установка mobile.wfx, а какой-то другой плаг.
Удаляем fse, пробуем снова: все OK
|
Давай попробую новый build. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6193 Location: Москва
|
(Separately) Posted: Sun Apr 15, 2007 01:49 Post subject: |
|
|
По просьбам трудящихся тема переименована. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu May 03, 2007 01:40 Post subject: |
|
|
Выпущена версия 1.15.
Основных изменений два. Во-первых, наконец сделал диалог настроек. Во-вторых - добавлена возможность сохранять результат поиска в файл и загружать обратно.
Лежит все там же |
|
Back to top |
|
 |
Ник
Joined: 15 Dec 2004 Posts: 1256 Location: Москва
|
(Separately) Posted: Sat Aug 18, 2007 01:36 Post subject: |
|
|
Вопросы:
1) В диалоге настроек у меня нельзя выбрать базу + не сохраняется галка "Отдельный тред" - так и должно быть?
2) После поиска получается, что некоторых файлов в результирующем списке в реале нет - у них стоит красный крестик и размер нулевой - но в самой Locate32 при том же поиске в той же базе эти же файлы видны - да и на диске их можно найти и посмотреть.
Базу только что обновил.
Версия плагина отсюда - 1.0.0.15.
Версия программы - 3.0.7.7010.
Windows 2000 SP4, NTFS. _________________ Xubuntu |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Tue Aug 21, 2007 20:54 Post subject: |
|
|
1. В каком смысле "нельзя выбрать базу"? тоже не сохраняется? Или физически невозможно выбрать?
2. Можно как-то получить эту базу? Разумеется, вместе с примерами таких "неправильных" файлов.
Кстати, недавно вышла очередная версия Locate32. http://fileforum.betanews.com/detail/Locate/1044509669/1
В частности пофиксен очень противный баг связанный с использованием нескольких баз. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|