Создайте свою программу с опцией компилятора -g
, чтобы получить значимые следы стека.
Затем запустите программу в отладчике, например, gdb
:
gdb --args [executable] [arguments...]
Когда GDB имеет загружен, введите команду run
и ваша программа будет запущена. Как только исключение выдается и не перехватывается вашей программой, gdb
покажет вам трассировку стека, показывающую, откуда было выброшено исключение.
std::bad_alloc
означает, что ваша программа не смогла выделите больше памяти, возможно, потому, что ОС либо не хватило памяти, либо вы достигли явного ограничения памяти, установленного системой.