Есть ли способ инициализировать память при использовании GDB с чем-то вроде 0xDEADBEEF
Конечно, если вы знаете его адрес: (gdb) call memset($addr, 0xCC, $size)
или
(gdb) set *(int*)$addr = 0xDEADBEEF
.
Проблема обычно в том, что вы не знаете , где , что неинициализированный указатель будет находиться в памяти.
Один из способов найти его - Memory Sanitizer awatch command.
PS Вы, кажется, довольно уверены, что ваша проблема «неинициализирована бесплатно», но симптомы «двойного освобождения» часто похожи. Я бы попробовал Address Sanitizer , прежде чем делать что-либо еще.