Что-то странное происходит, когда я пытаюсь отлаживать приложение. Просто отладчик не останавливается на контрольных точках, когда я устанавливаю точки останова в ловушке блока try-catch.Как установить точку останова в блоке catch? (C++)
Вот пример.
try {
throw std::overflow_error("test");
} catch (...) {
qDebug() << "caught"; // HERE, I SET BREAKPOINT ON THIS LINE
}
Он печатает «пойманный» на экране при возникновении исключения, но он не останавливается на этой строке. (Если вы когда-нибудь задумывались: да, я создаю приложение в режиме отладки и работаю в режиме отладки)
Я страдаю от отсутствия фундаментальных знаний о том, как работает gdb? (Я имею в виду, возможно, это не останавливается, потому что точки останова в ловушке не работают)
Любая помощь будет принята с благодарностью.
Спасибо.
Вы уверены, что 'сорта :: threshold' кидает? –
* Если ваш код бросает исключение, то только он попадет в catch catch.So убедитесь, что. –
@MohamadElghawi вы правы, чтобы задать этот вопрос. Я не сказал, что это жалко, это всего лишь псевдокод. Это не должно быть пороговым методом. –