linux手動生成dump文件 如何讓linux生成內(nèi)存dump?
如何讓linux生成內(nèi)存dump?在Linux上,只要打開核心轉(zhuǎn)儲文件開關(guān),當(dāng)程序崩潰時,系統(tǒng)就會生成相應(yīng)的核心文件。以下是一些簡單的步驟:1。檢查此開關(guān)目前是否已打開。通過命令ulimit-C,如果
如何讓linux生成內(nèi)存dump?
在Linux上,只要打開核心轉(zhuǎn)儲文件開關(guān),當(dāng)程序崩潰時,系統(tǒng)就會生成相應(yīng)的核心文件。以下是一些簡單的步驟:
1。檢查此開關(guān)目前是否已打開。通過命令ulimit-C,如果輸出為0,則表示尚未打開。如果它是無限的,它已經(jīng)打開了,所以沒有必要打開它。
2. 通過命令打開ulimit-C unlimited。然后,通過步驟1,您可以監(jiān)視它是否成功打開。
3. 如果要取消,很簡單:ulimit-c0就可以了。修改上述命令后,它通常只對當(dāng)前會話起作用。下次再次登錄時,還是要重新輸入上面的命令,所以很麻煩。我們可以更改/etc/profile文件,使系統(tǒng)每次都自動打開。具體步驟如下:1。首先,打開/etc/profile文件。通常,您可以在以下文件中找到這句話:ulimit-S-c0>/dev/null 2>&1.ok。根據(jù)上面的例子,我們只需要將0改為無限。然后保存并退出。2通過source/etc/profile使當(dāng)前設(shè)置生效。三。檢查它是否已經(jīng)通過ulimit-C打開。事實上,不僅這個命令可以添加到/etc/profile文件中,而且我們每次登錄時需要生效的一些其他命令也可以添加到這個文件中,因為Linux在我們登錄時會加載這個文件。例如,一些環(huán)境變量的設(shè)置。另一種方法是修改/etc/security/極限.conf文件設(shè)置,這個方法還沒試過,還可以上網(wǎng)看看。但是上面兩個都可以!最后,讓我們討論一下生成的核心轉(zhuǎn)儲文件的位置。默認位置與可執(zhí)行程序位于同一目錄中。文件名是core。**,其中**是一個數(shù)字。核心轉(zhuǎn)儲文件名的模式保存在/proc/sys/kernel/core in模式中,默認值為core。您可以使用以下命令更改核心轉(zhuǎn)儲文件的位置(如果您想在/TMP/cores目錄中生成它)echo“/TMP/cores/core”>/proc/sys/kernel/core設(shè)置模式后,我們可以進行測試并編寫程序來生成異常。然后您可以看到當(dāng)前目錄中將有一個core*文件。