Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.18;
Скачать: CL | DM;

Вниз

Подскажите, если кто может, направление поиска!   Найти похожие ветки 

 
Германн ©   (2004-02-13 02:40) [0]

Каким образом приложение может быть снято/удалено/прекращено "молча", т.е. без всяких сообщений об какой-либо ошибке и без следов в логе WinXP?
Меня, лично, интересует именно концептуальный ответ.

Гарантирую, что на сем компьютере нет приложений, которые могут вызвать TerminateProcess.

Однако, сам лично видел, как моя программа "Сгинула без следа".


 
Defunct   (2004-02-13 03:24) [1]

это есть Halt(0)

может вызваться случайно, врезультате какого-то сбоя в работе со стеком.


 
Германн ©   (2004-02-13 19:55) [2]

Других вариантов никто не знает?


 
DDA ©   (2004-02-13 20:41) [3]

Ну можно просто завершить вот так по ехе-нику
Закроет приложение без всяких там вопросов:
function KillTask(ExeFileName: string): integer;
const
 PROCESS_TERMINATE=$0001;
var
 ContinueLoop: BOOL;
 FSnapshotHandle: THandle;
 FProcessEntry32: TProcessEntry32;
begin
 result := 0;

 FSnapshotHandle := CreateToolhelp32Snapshot
                    (TH32CS_SNAPPROCESS, 0);
 FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
 ContinueLoop := Process32First(FSnapshotHandle,
                                FProcessEntry32);

 while integer(ContinueLoop) <> 0 do
 begin
   if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
        UpperCase(ExeFileName))
    or (UpperCase(FProcessEntry32.szExeFile) =
        UpperCase(ExeFileName))) then
     Result := Integer(TerminateProcess(OpenProcess(
                       PROCESS_TERMINATE, BOOL(0),
                       FProcessEntry32.th32ProcessID), 0));
   ContinueLoop := Process32Next(FSnapshotHandle,
                                 FProcessEntry32);
 end;

 CloseHandle(FSnapshotHandle);
end;


 
Германн ©   (2004-02-13 22:17) [4]

Увы, меня то интересует возможные пути безмолвного самопроизвольного вылета программы, а не способы ее убиения извне.


 
Soft ©   (2004-02-13 22:48) [5]

Halt(Код завершения);
дохнет сразу.


 
Defunct   (2004-02-14 04:30) [6]

Каким-то макаром где-то подменяется адрес возврата в стеке, так что программа попадает на код процедуры Halt().

Можно пощупать в направлении передаваемых параметров процедур/функций, особенно если есть экспортируемые/импортируемые функции. Может глюк с процедурами "Overload".


 
Германн ©   (2004-02-15 01:06) [7]

Да, увы направлений поиска немного, утешает пока что то, что вот уже почти две недели не было вылетов у данной версии. А ведь она уже почти год работает на одном объекте и почти 2 месяца на другом. Единственное отличие этого объекта в том, что с программой постоянно общается по сети некое "удаленное рабочее место". Оно перерабатывалось за это время и может "исправилось", но я по-прежнему не понимаю как и что могло так "грохнуть" мою программу?
Прям "изображаю" В.Соломина в роли др.Ватсона срашивающего "Холмс, но как?"



Страницы: 1 вся ветка

Текущий архив: 2004.04.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1080594387
Pavel
2004-03-30 01:06
2004.04.18
Timer


14-1080042117
gty
2004-03-23 14:41
2004.04.18
Как в excel преобразовать столбец в строку?


1-1080379614
Jet8
2004-03-27 12:26
2004.04.18
Где взять доки по генерации кода Delphi?


6-1076759478
Opilki_Inside
2004-02-14 14:51
2004.04.18
Не могу найти статью


3-1080194652
ceval
2004-03-25 09:04
2004.04.18
форма Ffind (для поиска в DBGride) ..выдает ошибку Undeclared id