我們有一個服務器(用C和C++編寫),它目前捕獲一個SEGV並將一些內部信息轉儲到一個文件中。我想生成一個核心文件,並在抓到SEGV時將其寫入磁盤,因此我們的支持代表和客戶不必大驚小怪,然後等待崩潰再次發生,以便獲得核心文件。過去我們使用了中止函數,但它受到ulimit規則的約束,並沒有幫助。什麼是從進程內部轉儲Linux核心文件的好方法?
我們有一些遺留代碼讀取/ proc/pid/map並手動生成核心文件,但它已過時,並且看起來不太可移植(例如,我猜測它不起作用在我們的64位版本中)。在Linux進程中生成和轉儲核心文件的最佳方式是什麼?
我懷疑這是可能的,當ulimit規則禁止創建coredumps – 2008-11-25 20:02:02