我們有一個啓用了apport的Ubuntu服務器,如圖所示。如何更改非打包應用程序崩潰的apport默認行爲?
~$ cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c
不幸的是,apport在處理非打包應用程序崩潰時的行爲並不完全符合我們的喜好。 apport正在這些場景的工作目錄中生成「核心」文件(假設ulimit -c被適當設置)。例如,從Apport會日誌,
ERROR: apport (pid 10117) Tue Jan 8 08:56:25 2013: executable: /home/jess/a.out (command line "./a.out")
ERROR: apport (pid 10117) Tue Jan 8 08:56:25 2013: executable does not belong to a package, ignoring
ERROR: apport (pid 10117) Tue Jan 8 08:56:25 2013: writing core dump to /home/jess/core (limit: 18889465931478580853760)
無奈的是,一旦一個核心文件是存在的它不會被覆蓋。例如,如果我們正在測試應用程序並忘記從工作目錄清除舊的核心文件,那麼應用程序在測試期間崩潰,我們將看不到新的核心文件。即使它被覆蓋,這可能並不理想,因爲我們然後失去了舊的核心。
理想情況下,我們希望能夠通過例如參數告訴apport,對於非打包的應用程序情況,生成一個文件名爲根據指定模式格式化的核心文件(根據core_pattern文件規範)...有沒有這樣做的方法,或者有什麼相同的東西?
可能存在[未生成核心轉儲文件]的副本(http://stackoverflow.com/questions/7732983/core-dump-file-is-not-generated) – conradkdotcom