linux手动生成dump文件 嵌入式Linux后台进程怎么生成CoreDump?
嵌入式Linux后台进程怎么生成CoreDump?
如何让linux生成内存dump?
在Linux上,只要打开核心转储文件开关,当程序崩溃时,系统就会生成相应的核心文件。以下是一些简单的步骤:
1。检查此开关目前是否已打开。通过命令ulimit-C,如果输出为0,则表示尚未打开。如果它是无限的,它已经打开了,所以没有必要打开它。
2. 通过命令打开ulimit-C unlimited。然后,通过步骤1,您可以监视它是否成功打开。
3. 如果要取消,很简单:ulimit-c0就可以了。修改上述命令后,它通常只对当前会话起作用。下次再次登录时,还是要重新输入上面的命令,所以很麻烦。我们可以更改/etc/profile文件,使系统每次都自动打开。具体步骤如下:1。首先,打开/etc/profile文件。通常,您可以在以下文件中找到这句话:ulimit-S-c0>/dev/null 2>&1.ok。根据上面的例子,我们只需要将0改为无限。然后保存并退出。2通过source/etc/profile使当前设置生效。三。检查它是否已经通过ulimit-C打开。事实上,不仅这个命令可以添加到/etc/profile文件中,而且我们每次登录时需要生效的一些其他命令也可以添加到这个文件中,因为Linux在我们登录时会加载这个文件。例如,一些环境变量的设置。另一种方法是修改/etc/security/极限.conf文件设置,这个方法还没试过,还可以上网看看。但是上面两个都可以!最后,让我们讨论一下生成的核心转储文件的位置。默认位置与可执行程序位于同一目录中。文件名是core。**,其中**是一个数字。核心转储文件名的模式保存在/proc/sys/kernel/core in模式中,默认值为core。您可以使用以下命令更改核心转储文件的位置(如果您想在/TMP/cores目录中生成它)echo“/TMP/cores/core”>/proc/sys/kernel/core设置模式后,我们可以进行测试并编写程序来生成异常。然后您可以看到当前目录中将有一个core*文件。
在windows下如何生成类似于linux下的coredump文件?
Msys2已经使用了三年多。它有三个shell环境。一个msys2 shell模拟Linux环境。它可以使用一些Linux专有的函数,比如fork,另外两个mingw-64 32位shell,mingw-64 64位shell,这两个都是windows开发环境。在这两种环境下用GCC编译的程序的效率要高于在msys2环境下用GCC编译的程序。
但是,如果您真的想在windows下开发图形工具,最好使用VS进行团队合作。如果你可以使用VS的个人,你可以发挥msys2/MinGW环境。到目前为止,我还没有找到当程序在MinGW下崩溃时生成coredump文件的方法。对于这个,我懒得使用MinGW开发软件。
如果开发了所有Linux/windows程序,msys2中使用的许多命令行工具都非常容易使用。我基本上使用msys2作为软件仓库。如果有MinGW版本,尽量使用MinGW版本的工具,并介绍几种常用的工具:
grep
WGet
FTP
GPG
curl,有时做一些简单的HTTP测试
SSH
sshpass密码可以在SSH中传递
git一般不使用图形软件,它不如命令行好。当你真的需要图形的时候,你可以去网上看看
dos2unix下的文件都是windows下传输到Linux的,比如换行符不同
cmake需要安装MinGW版本,否则就不能生成vs工程文件
ntldd二进制文件依赖检测,-R参数可以递归检测所有依赖DLL,不用LDD
SVN偶尔需要看旧仓库的代码,所以用的不多,所以懒得安装图形界面
ffmpeg不需要专门下载Windows版本,它是由Pacman-s直接完成的
md5sum生成MD5
uuidgen可以方便地生成UUID
linux手动生成dump文件 linux生成coredump文件 linux生成heapdump文件
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。