Главная страница
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.052 c
11-1062881082
Vitalon
2003-09-07 00:44
2004.04.18
Как создать базу данных используя KOLEdb?


14-1080403162
PVOzerski
2004-03-27 18:59
2004.04.18
Кто-нибудь знает: мамка VT501 для P1 держит ли SIMM ы и DIMM?


7-1076695062
@G
2004-02-13 20:57
2004.04.18
Перезагрузка Windows?


1-1080905497
Timur
2004-04-02 15:31
2004.04.18
wizard на delphi


6-1076701878
Khabibulin
2004-02-13 22:51
2004.04.18
NET