kiedy piszę kod w Javie, używam debuggera osadzonego w Eclipse. Podczas wizualizacji obiektu w tym kontekście debugger automatycznie wywołuje funkcję toString(), która jest bardzo wygodna dla szybkiej wizualizacji podczas eksplorowania stanu programu.Definiowanie funkcji drukowania gdb dla struktur C
Teraz, gdy pracuję w C, używam emacs + gdb do debugowania, ale nie udało mi się znaleźć/odtworzyć równoważnej funkcji do wizualizacji skomplikowanych struktur C (np. Wywołanie konkretnej funkcji drukowania). Oczywiście nie ma ogólnej metody toString(), ale w każdym razie bardzo często zaimplementowałem funkcję drukowania dla moich struktur.
Ale kiedy chcę wizualizować coś w gdb, muszę wywołać te funkcje drukowania ręcznie z gdb robi p my_print_function(my_struct_pointer)
, co jest dość nieskuteczne (trzeba zapamiętać jego nazwę, wpisać poprawnie, ponadto standardowe wyjście może być w innym okna ...).
Rzecz Chciałbym to skonfigurować gdb do powiedzenia „podczas wywoływania funkcji drukowania gdb od rodzaju wskaźnika struct T, zadzwoń automatycznie, że funkcja drukowania zdefiniowane przez użytkownika f ...”. Czy jest jakiś sposób na zrobienie tego? Z góry dziękuję.
Niezbyt wygodnie ... ale prawdopodobnie najlepsze istniejące rozwiązanie. Dzięki. – Hobbes