Название: Qt creator. Установка брэйкпоинтов Отправлено: silart от Февраль 18, 2013, 05:16 Добрый день!
Использую Qt Creator + MinGW + GDB. Заметил странную особенность. Когда устанавливаешь брэйкпоинт внутри блока catch() {} он почему-то не срабатывает во время отладки. Но если из этого блока вызвать функцию и внутри нее установить брэйкпоинт, то все работает нормально. Внутри catch () {} устанавливать брэйкпоинты бывает очень удобно потому что в момент отлавливания исключения сразу видишь строку сообщения об ошибке: Код: try (http://s1.ipicture.ru/uploads/20130218/hqNNQ45o.jpg) Название: Re: Qt creator. Установка брэйкпоинтов Отправлено: carrygun от Февраль 18, 2013, 05:34 Дело не в try/catch. "Точка останова" срабатывает ДО выполнения оператора в строке, а не ПОСЛЕ его выполненя. Я обычно какойнить qDebug() вставляю на следующей строке, и на него вешаю эту точку.
Название: Re: Qt creator. Установка брэйкпоинтов Отправлено: Bepec от Февраль 18, 2013, 07:01 А я просто ставлю на последнюю и делаю "Шаг" отладчиком.
Название: Re: Qt creator. Установка брэйкпоинтов Отправлено: silart от Февраль 18, 2013, 07:03 Да, но в блоке catch() брэйкпоинты ни на какой строке не работают. Можно его поставить на строчку выше и будет тот же результат.
Не знаете в чем причина? Название: Re: Qt creator. Установка брэйкпоинтов Отправлено: Авварон от Февраль 23, 2013, 12:16 Для gdb можно в параметры запуска прописать "catch throw" и тогда отладчик будет брякаться на месте выброса исключения - гораздо удобнее, чем бряка в catch()
Название: Re: Qt creator. Установка брэйкпоинтов Отправлено: silart от Февраль 25, 2013, 05:07 Для gdb можно в параметры запуска прописать "catch throw" и тогда отладчик будет брякаться на месте выброса исключения - гораздо удобнее, чем бряка в catch() Да, я так пробовал, но мне показалось не очень удобным потому что не получается посмотреть что возвращает e.what(). Может как-то можно посмотреть? |