2012-02-04 12 views
6

Nie mogę znaleźć sposobu, aby cgdb zdemontować plik binarny i pokazać kod zespołu z bieżącą instrukcją w oknie kodu. Czy to możliwe i jakiego polecenia mam użyć? Używam Mac OS X i otrzymałem cgdb z repozytorium homebrew.Jak utworzyć kod zestawu show cgdb?

Odpowiedz

4

display/i $pc pokazuje demontaż zawsze dla aktualnej instrukcji, w oknie konsoli.

Aby pokazać demontaż po więcej instrukcji, należy przedrostek i podać liczbę instrukcji.

Na przykład

display/5i $pc 

przedstawia demontaż zawsze na najbliższe 5 instrukcji.

+1

Ten rodzaj jest sprzeczny z celem cgdb. Dlaczego ktoś miałby go używać zamiast zwykłego gdb do debugowania bezzakłóconych aplikacji, jeśli ta funkcjonalność jest osiągana tylko za pomocą polecenia gdb? – Ruslan

+0

Istnieje sposób, aby zrobić to teraz z ': set dis' (od wersji 0.7.0). Zobacz moją odpowiedź. –

0

Pracuję nad MacOSem, aby rozbroić bomby podwójne i znaleźć "gdb -tui". Niż znalazłem "cgdb" może sprawić, że kod będzie kolorowy. Ale chcemy zobaczyć pokazany zdemontowany kod w oknie kodu, powyższa odpowiedź pokazuje tylko linię kodu po linii lub tylko niezmienne linie.

Niestety, znalazłem post powiedział, że "cgdb nie obsługuje wyświetlanie zestawu (jeszcze)." https://groups.google.com/forum/#!topic/cgdb-users/E-jZCJiBAQQ

Sorry guys, cgdb does not support assembly display (yet). It's a 
frequently requested feature, and when we get a little more time to 
work on cgdb we will probably add this. 
Starting cgdb with the -tui option is a bad idea -- the TUI (text user 
interface) is an alternative curses interface to gdb, not a part of 
cgdb. It will not play nice with cgdb. 
Mike 
-- 
Mike Mueller 

Cóż, to 11/12/15, ale wydaje się wciąż nie mógł pokazać kod montaż na oknie kodu jak gdb w trybie tui.

2

Najnowsza aktualizacja (luty 2017 r.) Do cgdb umożliwia to. Będziesz potrzebował cgdb w wersji 0.7.0 lub nowszej. (W chwili pisania tego jest najnowsza wersja). Może być konieczne skompilowanie tego z własnego źródła, biorąc pod uwagę jego aktualność.

Więcej szczegółów na dodanie wsparcia demontażu można znaleźć tutaj: https://github.com/cgdb/cgdb/issues/44

Aby zobaczyć demontaż w cgdb hit esc i typ :set diswprowadzić.

Aby powrócić do źródła (jeśli jest dostępne), powtórz to, z wyjątkiem typu :set nodis.