2011-07-06 11 views

Odpowiedz

5

Czy pomoc byłaby catchpoints? Możesz złamać, gdy wyjątek zostanie zgłoszony, wprowadzając komendę catch throw w gdb. W Eclipse możesz to zrobić za pomocą konsoli gdb. Zobacz this question.

+0

Awans i dzięki! Tak, w tym konkretnym przypadku pomogli :) Ale na przyszłość: czy mogę filtrować według typu wyjątku? Biblioteka osób trzecich używa wyjątków do kontroli przepływu ... więc otrzymywałbym zbyt wiele powiadomień o wyrzucanych wyjątkach. – Ali

+0

@Ali: Przepraszamy, to, co wiem, jest w linku. Nie mam żadnych faktycznych doświadczeń z tym. Nie widzę sposobu na określenie typu wyjątku. –

+1

Chciałbym przyjąć twoją odpowiedź, ale proszę dodać więcej informacji dla ogólnej publiczności, co robić (wpisz rzut catch w konsoli gdb) i ten link: http://stackoverflow.com/q/1109922/341970 – Ali

4

Możesz umieścić punkt przerwania w konstruktorze dla obiektu wyjątku. Ponieważ dzieje się to przed wyrzuceniem wyjątku, uzyskujesz doskonałą widoczność kodu wywołującego.

+0

Rewizja i dzięki! Nie mogę filtrować wyjątków za pomocą rozwiązania catch throw gdb, jednak umieszczenie punktu przerwania, gdzie out_of_range jest rzucane, rozwiązuje problem. – Ali

Powiązane problemy