Chciałbym wiedzieć skąd wewnątrz aplikacji ogromna aplikacja drukowana jest pewna wiadomość. Aplikacja jest tak duża i stara, że wykorzystuje wszystkie możliwe sposoby drukowania tekstu na terminalu; na przykład printf(), fprintf (stdout, ...) itp.jak mogę umieścić punkt przerwania na "coś jest drukowane na terminalu" w gdb?
Piszę, aby umieścić punkt przerwania w wywołaniu systemowym write(), ale potem jestem zalewany zbyt wieloma przerwaniami zatrzymania z powodu różnych plików I/O operacje, które używają również write().
W zasadzie chcę, aby gdb przestał za każdym razem, gdy program drukuje coś do terminalu, ale jednocześnie nie chcę, aby gdb przestał, kiedy program zapisuje coś do pliku.
Zobacz również [Jak mogę monitorować co mogą być wprowadzane do standardowy bufor wyjściowy i przerwa, gdy konkretny ciąg jest zdeponowany w rurze?] (http://stackoverflow.com/questions/8235436/how-can-i-monitor-whats-being-put-into-the-standard- out-buffer-and-break-when-a) –
Nie możesz po prostu "pobrać" źródło tego "czegoś", które pojawia się w terminalu, a następnie umieścić tam punkt przerwania? – Calmarius