Главная страница
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.027 c
1-1080654121
IceMaster
2004-03-30 17:42
2004.04.18
Окно "О программе..."


9-1065980951
Sacred
2003-10-12 21:49
2004.04.18
Помогите разобраться с ошибкой!!! Очень прошу.


4-1076279166
VideoLord
2004-02-09 01:26
2004.04.18
Как вызвать системное меню проводника?


7-1076938204
Falendysh
2004-02-16 16:30
2004.04.18
Удаление файлов


3-1079605222
sergej
2004-03-18 13:20
2004.04.18
Local sql