2012-11-22 18 views
12

Przepraszam za prawdopodobnie banalne pytanie, ale wpadam w ścianę, ponieważ Google nieustannie daje mi te same nie mające zastosowania odpowiedzi.LLDB Przerwa pod adresem

Próbuję ustawić punkt przerwania w LLDB. Po przeczytaniu dokumentacji dostępne opcje są albo zatrzymane na określonej linii w źródle, albo na pewnym symbolu.

Co chcę zrobić, to ustawić punkt przerwania w określonym miejscu pamięci.

Nie odczytuje lub zapisuje do tej lokalizacji w pamięci, ale po prostu przerywa, gdy instrukcja w tej lokalizacji ma zostać wykonana.

W pseudokod:

break 0x00010000

przerwy kiedy punkty EIP do 0x00010000.

Jak mogę to zrobić?

Odpowiedz

21

breakpoint set ma opcję adresu; wpisz: help breakpoint set, aby zobaczyć wszystkie. Dla konkretnego przykładu,

(lldb) br s -a 0x10000 

(Zawsze można użyć krótsze wersje nazw poleceń w lldb które są tak jednoznaczne, wpisując się breakpoint set nie jest to konieczne)

+0

Gdy próbuję dodać punkt przerwania adresową, z powodzeniem dodaje go, ale nigdy nie przestaje nigdzie przed awarią (próbuję sprawdzić, czy ktoś inny próbuje uzyskać dostęp do pamięci przed wystąpieniem awarii). Dowolny pomysł? –

Powiązane problemy