linux手動生成dump文件 嵌入式Linux后臺進(jìn)程怎么生成CoreDump?
嵌入式Linux后臺進(jìn)程怎么生成CoreDump?如何讓linux生成內(nèi)存dump?在Linux上,只要打開核心轉(zhuǎn)儲文件開關(guān),當(dāng)程序崩潰時,系統(tǒng)就會生成相應(yīng)的核心文件。以下是一些簡單的步驟:1。檢查此
嵌入式Linux后臺進(jìn)程怎么生成CoreDump?
如何讓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打開。事實(shí)上,不僅這個命令可以添加到/etc/profile文件中,而且我們每次登錄時需要生效的一些其他命令也可以添加到這個文件中,因?yàn)長inux在我們登錄時會加載這個文件。例如,一些環(huán)境變量的設(shè)置。另一種方法是修改/etc/security/極限.conf文件設(shè)置,這個方法還沒試過,還可以上網(wǎng)看看。但是上面兩個都可以!最后,讓我們討論一下生成的核心轉(zhuǎn)儲文件的位置。默認(rèn)位置與可執(zhí)行程序位于同一目錄中。文件名是core。**,其中**是一個數(shù)字。核心轉(zhuǎn)儲文件名的模式保存在/proc/sys/kernel/core in模式中,默認(rèn)值為core。您可以使用以下命令更改核心轉(zhuǎn)儲文件的位置(如果您想在/TMP/cores目錄中生成它)echo“/TMP/cores/core”>/proc/sys/kernel/core設(shè)置模式后,我們可以進(jìn)行測試并編寫程序來生成異常。然后您可以看到當(dāng)前目錄中將有一個core*文件。
在windows下如何生成類似于linux下的coredump文件?
Msys2已經(jīng)使用了三年多。它有三個shell環(huán)境。一個msys2 shell模擬Linux環(huán)境。它可以使用一些Linux專有的函數(shù),比如fork,另外兩個mingw-64 32位shell,mingw-64 64位shell,這兩個都是windows開發(fā)環(huán)境。在這兩種環(huán)境下用GCC編譯的程序的效率要高于在msys2環(huán)境下用GCC編譯的程序。
但是,如果您真的想在windows下開發(fā)圖形工具,最好使用VS進(jìn)行團(tuán)隊(duì)合作。如果你可以使用VS的個人,你可以發(fā)揮msys2/MinGW環(huán)境。到目前為止,我還沒有找到當(dāng)程序在MinGW下崩潰時生成coredump文件的方法。對于這個,我懶得使用MinGW開發(fā)軟件。
如果開發(fā)了所有Linux/windows程序,msys2中使用的許多命令行工具都非常容易使用。我基本上使用msys2作為軟件倉庫。如果有MinGW版本,盡量使用MinGW版本的工具,并介紹幾種常用的工具:
grep
WGet
FTP
GPG
curl,有時做一些簡單的HTTP測試
SSH
sshpass密碼可以在SSH中傳遞
git一般不使用圖形軟件,它不如命令行好。當(dāng)你真的需要圖形的時候,你可以去網(wǎng)上看看
dos2unix下的文件都是windows下傳輸?shù)絃inux的,比如換行符不同
cmake需要安裝MinGW版本,否則就不能生成vs工程文件
ntldd二進(jìn)制文件依賴檢測,-R參數(shù)可以遞歸檢測所有依賴DLL,不用LDD
SVN偶爾需要看舊倉庫的代碼,所以用的不多,所以懶得安裝圖形界面
ffmpeg不需要專門下載Windows版本,它是由Pacman-s直接完成的
md5sum生成MD5
uuidgen可以方便地生成UUID