Skocz do zawartości
albrecht

Informacje o procesie z poziomu procesu.

Rekomendowane odpowiedzi

Zna ktoś może sposób, bądź linki gdzie o tym pisza :) jak najbezpieczniej i najlatwiej dostac sie do informacji o procesie z poziomu danego procesu.

Chce pozyskać informacje co ostatnio wykonal proces ( instrukcje , funkcje itp). Potrzebuje to podczas gdy proces powoduje wykonanie np. naruszenia ochrony pamieci i zanim zostanie zabity proces wypisal takie info :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zna ktoś może sposób, bądź linki gdzie o tym pisza :) jak najbezpieczniej i najlatwiej dostac sie do informacji o procesie z poziomu danego procesu.

 

Chce pozyskać informacje co ostatnio wykonal proces ( instrukcje , funkcje itp). Potrzebuje to podczas gdy proces powoduje wykonanie np. naruszenia ochrony pamieci i zanim zostanie zabity proces wypisal takie info :)

Co ma oznaczać w ogóle to "z poziomu danego procesu"?

a to "najbezpieczniej"? 8)

w każdym razie, może zainstaluj sobie jakiś debuger lepiej

np. SoftIce... gdzieś na http://www.programowanie.host.sk/

albo po prostu napisz do autora aplikacji - tak będzie najłatwiej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zna ktoś może sposób, bądź linki gdzie o tym pisza :) jak najbezpieczniej i najlatwiej dostac sie do informacji o procesie z poziomu danego procesu.

 

Chce pozyskać informacje co ostatnio wykonal proces ( instrukcje , funkcje itp). Potrzebuje to podczas gdy proces powoduje wykonanie np. naruszenia ochrony pamieci i zanim zostanie zabity proces wypisal takie info :)

Co ma oznaczać w ogóle to "z poziomu danego procesu"?

a to "najbezpieczniej"? 8)

w każdym razie, może zainstaluj sobie jakiś debuger lepiej

np. SoftIce... gdzieś na http://www.programowanie.host.sk/

albo po prostu napisz do autora aplikacji - tak będzie najłatwiej.

Myśle że jemu chodzi o to że pisze program i chce aby ten progs wiedział kiedy się wywali.

 

Jeżeli np piszesz program pod C++ to możesz wykorzystać wyjątki, które generowane są przez program. Poźniej je wyłapujesz i wyświetlasz komunikat. W C++ Builderze podpinasz się pod metode onException obiektu Application i za każdym razem gdy będziesz miał błąd ochrony pamięci to najpierw zostanie wywołana metoda onException.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeżeli np piszesz program pod C++ to możesz wykorzystać wyjątki, które generowane są przez program. Poźniej je wyłapujesz i wyświetlasz komunikat. W C++ Builderze podpinasz się pod metode onException obiektu Application i za każdym razem gdy będziesz miał błąd ochrony pamięci to najpierw zostanie wywołana metoda onException.

Różne są "szkoły". ;) Osobiścię wolę używać tradycyjnych rozwiązań

w postaci breakpointów, watchów i ewentualnie wykonywania

programu krok po kroku. Nie trzeba pisać dodatkowego kodu

- no chyba, że jest 3 w nocy, a program ma być na wczoraj 8)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Różne są "szkoły". ;) Osobiścię wolę używać tradycyjnych rozwiązań

w postaci breakpointów, watchów i ewentualnie wykonywania

programu krok po kroku. Nie trzeba pisać dodatkowego kodu

- no chyba, że jest 3 w nocy, a program ma być na wczoraj 8)

Tu nie o to chodzi. Zauważ że jak IE się wywali to nie dostajesz komunikatu AccessViolation tylko wyskakuje ładne okienko z informacja że IE wykonał nieprawidłowa operacje i zostanie zamknięty i możesz wybrać zeby wysłał info o błędzie do M$. Myśle że albrecht chce właśnie coś takiego zrobić.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dwa zdania SiNuS_-a spowodowały że się zarejestrowałem aby móc dodać komentarz od siebie.

 

SiNuS_ napisał: "(...) Osobiścię wolę używać tradycyjnych rozwiązań w postaci breakpointów, watchów i ewentualnie wykonywania programu krok po kroku. (...)".

Gorąco polecam książkę "Debuger usuwanie błędów z programów" Johna Robbinsa (z przedmową Matta Pietreka), który jako m.in. współtwórca wymienionego przez Ciebie SoftIce-a jest dla mnie autorytetem. Autor wyraźnie podkreśla że debugger owszem jest fantastycznym narzędziem, ale warto poświęcić trochę czasu na to aby program może nie sam wskazał konkretną przyczynę błędu ale żeby przynajmniej jak najdokładniej opisał awarię (błąd). Przy czym ponieważ książkę napisał człowiek o ogromnym doświadczeniu, to nie tylko jest opisany problem ale jest przygotowane wygodne rozwiązanie (z dostarczeniem gotowych narzędzi włącznie), po to aby spędzić na szukaniu błędu jak najmniej czasu i w zasadzie w chwili wystąpienia znać powód i rozmyślać nad rozwiązaniem. Jednym z poruszanych zagadnień jest "jak uzyskać cenne informacje o stanie procesu" (co jest tematem tego wątka).

 

SiNuS_ napisał: "(...) może zainstaluj sobie jakiś debuger lepiej np. SoftIce... (...)".

Mówić o SoftIce "jakiś debuger" to ogromne nieporozumienie. Zakładam że umiesz się nim posługiwać i zdajesz sobie sprawę że jak bardzo jest to potężne narzędzie. Paru użytkowników SoftIce, których spotkałem używali go w sposób, który nieodparcie kojarzy mi się ze strzelaniem z armaty do wróbla.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dwa zdania SiNuS_-a spowodowały że się zarejestrowałem aby móc dodać komentarz od siebie.

Miło 8)

 

SiNuS_ napisał: "(...) Osobiścię wolę używać tradycyjnych rozwiązań w postaci breakpointów, watchów i ewentualnie wykonywania programu krok po kroku. (...)".

Gorąco polecam książkę "Debuger usuwanie błędów z programów" Johna Robbinsa (z przedmową Matta Pietreka),

Wielkie dzięki! Szybki sersz w uczelnianej bibliotece

i już mam zamówiony jedyny egzemplarz 8)

 

SiNuS_ napisał: "(...) może zainstaluj sobie jakiś debuger lepiej np. SoftIce... (...)".

Mówić o SoftIce "jakiś debuger" to ogromne nieporozumienie. Zakładam że umiesz się nim posługiwać i zdajesz sobie sprawę że jak bardzo jest to potężne narzędzie. Paru użytkowników SoftIce, których spotkałem używali go w sposób, który nieodparcie kojarzy mi się ze strzelaniem z armaty do wróbla.

No nie da się ukryć, że polecanie SoftIce'a tutaj przeze mnie było durne,

tymbardziej, że autor wątku schował głowę w piasek... :]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...