Горный массив (от valgrind) является одним из лучшего способа найти утечки памяти. Повторите свой подозрительный код (или запускайте Вашу программу достаточно долго), и выведите результат с ms_print. Обычно, стек вызовов дает Вам достаточно информации для фиксации его.
С GDB можно попытаться присоединить к под управлением программе и вызвать функции такой как malloc_stats()
Если Ваша программа записана на другом языке, это могло бы быть более хитро. Недавно, некоторый GDB получил scriptability, и люди запустили интересные проекты, такие как gdb-"куча-", которая может проанализировать память Python от дампа ядра. Подобные аналитические сценарии памяти могли бы быть возможны для объектов C++.
Читайте также https://stackoverflow.com/questions/2564752/examining-c-c-heap-memory-statistics-in-gdb
Я не знаю, поможет ли это...
Если Вы переходите к сути дела, где испытательный стенд распознает раздел, необходимо смочь выбрать его и выбрать пункт меню, который выполнит развертку в структуру и покажет файлы. Отсюда, существует опция скопировать файлы.
Однако, если Вы возвращаетесь до такой степени, когда раздел, Вы хотите, распознан, необходимо видеть опцию на экране к [w] обряду, который пишет новую таблицу разделов в диск. Это желание (должно) дать Вам Ваш восстановленный раздел, и возможно som другое поддельное (лучшее предположение) разделы. В той точке скопируйте свои данные и почините диск по мере необходимости.
Я не ясен во всех деталях, поскольку я только сделал это однажды. Но испытательный стенд восстановил раздел NTFS, в котором я нуждался после того, чтобы портить таблицу разделов с fdisk FreeBSD.
Мне не было нужно ничто кроме испытательного стенда для восстановления, но по-видимому я изменил таблицу разделов от MS-DOS до gpt, когда я сделал выбор типа первоначального устройства в испытательном стенде, таким образом, я закончил тем, что копировал свои данные и переформатировал диск.
Так как Вы клонировали диск непосредственно на диск, можно просто использовать данные, найденные gpart
восстановить таблицу разделов. На самом деле gpart может воссоздать его для Вас: выполненный
gpart -gv -W /dev/sdd /dev/sdd
partprobe /dev/sdd
Затем Вы имеете (возможно, поврежденный) ext2/ext3/ext4 файловая система на /dev/sdd1
. Используйте инструменты восстановления файловой системы на /dev/sdd1
, Начиная с e2fsck /dev/sdd1
.