在Linux上只要打开core dump文件开关,当程序crash时系统生成相应的core文件。下面是简单的一些步骤:

1.查看当前是否已经打开了此开关 通过命令:ulimit -c 如果输出为 0 ,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。
2.通过命令打开 ulimit -c unlimited .然后通过步骤1,可以监测是否打开成功。
msys2用了大概三年多了,里面有三个shell环境, 一个MSYS2 shell,是模拟linux环境的,其中可以使用部分linux下专有函数,比如fork,另外2个Mingw-64 32bit shell,Mingw-64 64bit shell, 这2个是windows的开发环境,使用这2个环境下gcc编译出来的程序效率比msys2下的gcc编译出来的程序,性能要高。
不过真要开发windows下的图形工具,如果是团队合作,还是用vs吧,如果是个人可以用,msys2/mingw环境可以玩一玩。我至今都没找到如何在mingw下程序崩溃生成coredump文件的方法,就这一条,我就懒的用mingw开发商用软件了。
如果linux/windows程序都开发的话,msys2环境下,许多linux下习惯的命令行工具还是比较好用的,我基本就把msys2作为一个软件仓库使用,如果有mingw版本的,尽量使用mingw版本的工具,介绍几个常用的:
curl 有时作些简单的http测试
git 一般不用图形软件,图形软件还 不如命令行,真需要图形的时候,进web去看
dos2unix windows下的文件转linux,比如换行符不同之类的
cmake 要装mingw版本的,否则无法生成vs工程文件
ntldd 二进制文件依赖检测, -R参数可递归检测所有依赖dll,不要使用ldd
svn 偶尔要看老仓库代码,用的不多,所以懒的装图形界面
ffmpeg 不用去专门下载windows版本了,直接pacman -S搞定