eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak działa debugger? ramki stosuRe: Jak działa debugger? ramki stosu
  • Data: 2013-05-03 08:47:26
    Temat: Re: Jak działa debugger? ramki stosu
    Od: Edek <e...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia Thu, 02 May 2013 15:22:47 -0700 po głębokim namyśle M.M. rzekł:

    > W dniu czwartek, 2 maja 2013 19:26:53 UTC+2 użytkownik firr kenobi
    > napisał:
    >
    >> to gorzej z disasemblowaniem go w tyl
    > Kazda instrukcja (wraz ze swoimi argumentami) musialaby zajmowac taka
    > sama ilosc bitow. Gdy N poprzednich bitow zawiera liczbe X, to nie wiemy
    > czy to jest opcode poprzedniej instrukcji, czy argument "jeszcze
    > poprzedniej" instrukcji :)

    To jeszcze nic. Mając dowolną labelkę może być wiele dróg, jakimi
    program do nich doszedł.

    Ale prawdopodobnie proces jest możliwy, tyle nie ze 100% skutecznością.
    Języki są kompilowane w dość przewidywalny i schematyczny sposób,
    dałoby się zrekonstruować zmienne i graf bloków kodu co już byłoby
    przydatnym narzędziem. Potem dałoby radę wyeleminować z grafu te
    bloki, które logicznie można odrzucić na podstawie stanu zmiennych
    i rejestrów - udowadniając, że program nie mógł do nich dojść.
    Można dorzucić zachowany stos poniżej SP, aktualny stos, możliwe
    wcześniejsze stosy i przebieg pomiędzy funkcjami, a to co wymieniałem
    dotyczy jednak bloku kodu jedenj funkcji, dałoby radę też użyć
    rejestrów, które są już "dead", lae zachowały ostatnie użycie,
    byle nie float - i ma się pikne narzędzie.

    Pomimo tego uważam, że to wysiłek poświęcony złej sprawie.

    --
    Edek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: