Если программа забыла закрыть эти ресурсы, это может произойти из-за следующего:
fd = open("/tmp/foo",O_CREAT);
//do stuff
fd = open("/tmp/bar",O_CREAT); //Oops, forgot to close(fd)
теперь у меня не будет файлового дескриптора для foo в памяти.
Если этого не произошло, вы могли бы найти номер дескриптора файла, но, опять же, это не очень полезно, потому что они постоянно меняются, к тому времени, как вы приступите к отладке, вы не будете знать, какой файл это на самом деле означало в то время.
Я действительно думаю, что вы должны отладить это вживую, с strace, lsof и друзьями.
Если есть способ сделать это из дампа памяти, я тоже хочу это знать: -)