"new" в настоящее время не поддерживается в GDB.Это не обрабатывается в парсере вообще.Для этого в gdb bugzilla открыта ошибка, если вы хотите отслеживать прогресс в ней.Кто-то (кашель) работает над этим.
Между тем, я думаю, что вы можете сделать это вручную.Я никогда не пробовал это по-настоящему.Идея примерно такая:
set var $new = malloc(sizeof(struct Whatever))
call Whatever::Whatever($var)
Однако в этом вызове могут потребоваться дополнительные аргументы, поскольку ABI C ++ задает некоторые магические скрытые аргументы.
Другой подход заключается в создании удобства отладкифункция в вашей программе:
whatever *new_w() { return new whatever(); }
Тогда вы можете просто вызвать это напрямую из GDB.