В соответствии с документацией я могу разбить конкретный тип исключения, используя условные точки останова. Однако синтаксис этого условия мне не очень понятен:
condition bnum <expression>
Глядя на синтаксис выражения, я думаю, что это шаблон, который мне нужен:
{type} addr
Однако я не знаю, что мне нужно передать для аргумента addr
. Я попробовал следующее:
(gdb) catch throw
(gdb) condition 1 boost::bad_function_call *
Но он не работает (gdb разбивается на все типы исключений).
Может ли кто-нибудь помочь?
<ч/" >
Обновление
Я также попробовал @Adam предложение, но в результате появляется сообщение об ошибке:(gdb) catch throw boost::bad_function_call
Junk at end of arguments.
Без boost::
пространства имен:
(gdb) catch throw bad_function_call
Junk at end of arguments.
<ч/" >
Обход
Разрыв в конструктореbad_function_call
работает.