У нас есть сервер (написанный на C и С++), который в настоящее время ловит SEGV и выдает некоторую внутреннюю информацию в файл. Я хотел бы создать основной файл и записать его на диск в то время, когда мы поймаем SEGV, поэтому наши представители поддержки и клиенты не должны суетиться с помощью ulimit, а затем ждать, когда авария произойдет снова, чтобы получить ядро файл. Мы использовали функцию прерывания в прошлом, но она подчиняется правилам ulimit и не помогает.
У нас есть некоторый унаследованный код, который читает /proc/pid/map и вручную генерирует основной файл, но он устарел и не выглядит очень портативным (например, я предполагаю, что он не будет работать в наши 64-битные сборки). Каков наилучший способ генерации и сброса основного файла в процессе Linux?