linux 打印堆栈(java打印堆栈信息)

大家好,今天来为大家分享linux 打印堆栈的一些知识点,和java打印堆栈信息的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

遇到Fatal signal 11 求解答

通过对比编译环境发现,在dest赋值处;用到的头文件位置不同,导致结果差异。通过重新设置头文件路径,问题解决。

三、思考

目前掌握的结局signal 11故障的方法是使用交叉编译工具链给我们提供的arm-none-linux-gnueabi-addr2line工具,通过地址定位源文件中出错的函数或具体行数。

四、补充:Fatal signal 8(SIGFPE)

最近在帮助同事看一个打印堆栈问题时发现,程序并没有被kill掉

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

遇到fatal errorsignal 11 求解答

通过对比编译环境发现,在dest赋值处;用到的头文件位置不同,导致结果差异。通过重新设置头文件路径,问题解决。

三、思考

目前掌握的结局signal 11故障的方法是使用交叉编译工具链给我们提供的arm-none-linux-gnueabi-addr2line工具,通过地址定位源文件中出错的函数或具体行数。

四、补充:Fatal signal 8(SIGFPE)

最近在帮助同事看一个打印堆栈问题时发现,程序并没有被kill掉

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

linux的常用命令及技巧

一。通用命令:

1. date:print or set the system date and time2. stty-a:可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)3. passwd: print or set the system date and time(用passwd-h查看)4. logout, login:登录shell的登录和注销命令5. pwd: print or set the system date and time6. more, less, head tail:显示或部分显示文件内容.7. lp/lpstat/cancel, lpr/lpq/lprm:打印文件.8.更改文件权限: chmod u+x...9.删除非空目录:rm-fr dir10.拷贝目录: cp-R dir11. fg jobid:可以将一个后台进程放到前台。Ctrl-z可以将前台进程挂起(suspend),然后可以用bg jobid让其到后台运行。job&可以直接让job直接在后台运行。12. kill的作用: send a signal to a process. eg: kill-9发送的是SIG_KILL信号。。。具体发送什么信号可以通过 man kill查看。13. ps的用法, ps-e或 ps-o pid,ppid,session,tpgid, comm(其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)二.ubuntu常用命令:

1. dpkg: package manager for Debian*安装: dpkg-i package*卸载: dpkg-r package*卸载并删除配置文件: dpkg-P|--purge package*如果安装一个包时。说依赖某些库。可以先 apt-get install somelib...*查看软件包安装内容:dpkg-L package*查看文件由哪个软件包提供: dpkg-S filename*另外 dpkg还有 dselect和aptitude两个frontend.2. apt*安装: apt-get install packs* apt-get update:更新源* apt-get upgrade:升级系统。* apt-get dist-upgrade:智能升级。安装新软件包,删除废弃的软件包* apt-get-f install:-f==--fix broken修复依赖* apt-get autoremove:自动删除无用的软件* apt-get remove packages:删除软件* apt-get remove package--purge删除包并清除配置文件*清除所以删除包的残余配置文件: dpkg-l|grep ^rc|awk'{print$2}'|tr [/n] [ ]|sudo xargs dpkg-P*安装软件时候包的临时存放目录:/var/cache/apt/archives*清除该目录: apt-get clean*清除该目录的旧版本的软件缓存: apt-get autoclean*查询软件some的依赖包: apt-cache depends some*查询软件some被哪些包依赖: apt-get rdepends some*搜索软件: apt-cache search name|regexp*查看软件包的作用:apt-cache show package*查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends*下载软件的源代码: apt-get source packagename(注: sources.list中应该有 deb-src源)*安装软件包源码的同时,安装其编译环境:apt-get build-dep packagename(有deb-src源)*如何将本地光盘加入安装源列表: apt-cdrom add3.系统命令:*查看内核版本: uname-a*查看ubuntu版本: cat/etc/issue*查看网卡状态: ethtool eth0*查看内存,cpu的信息: cat/proc/meminfo; cat/proc/cpuinfo(/proc下面的有很多系统信息)*打印文件系统空间使用情况: df-h*查看硬盘分区情况: fdisk-l*产看文件大小: du-h filename;*查看目录大小: du-hs dirname; du-h dirname是查看目录下所有文件的大小*查看内存的使用: free-m|-g|-k*查看进程: ps-e或ps-aux-->显示用户*杀掉进程: kill pid*强制杀掉: killall-9 processname4.网络相关:*配置 ADSL: sudo pppoeconf* ADSL手工拨号: sudo pon dsl-provider*激活 ADSL: sudo/etc/ppp/pppoe_on_boot*断开 ADSL: sudo poff*根据IP查网卡地址: arping IP地址*产看本地网络信息(包括ip等): ifconfig| ifconfig eth0*查看路由信息: netstat-r*关闭网卡: sudo ifconfig eth0 down*启用网卡: sudo ifconfig eth0 up*添加一个服务: sudo update-rc.d服务名 defaults 99*删除一个服务: sudo update-rc.d服务名 remove*临时重启一个服务:/etc/init.d/服务名 restart*临时关闭一个服务:/etc/init.d/服务名 stop*临时启动一个服务:/etc/init.d/服务名 start*控制台下显示中文: sudo apt-get install zhcon*查找某个文件: whereis filename或 find目录-name文件名*通过ssh传输文件scp-rp/path/filename username@remoteIP:/path#将本地文件拷贝到服务器上scp-rp username@remoteIP:/path/filename/path#将远程文件从服务器下载到本地5.压缩:*解压缩 a.tar.gz: tar zxvf a.tar.gz*解压缩 a.tar.bz2: tar jxvf a.tar.bz2*压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb*压缩aaa bbb目录为xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb

6. Nautilus:特殊 URI地址* computer:///-全部挂载的设备和网络* network:///-浏览可用的网络* burn:///-一个刻录 CDs/DVDs的数据虚拟目录* smb:///-可用的 windows/samba网络资源* x-nautilus-desktop:///-桌面项目和图标* 本地文件* trash:///-本地回收站目录* ftp://- FTP文件夹* ssh://- SSH文件夹* fonts:///-字体文件夹,可将字体文件拖到此处以完成安装* themes:///-系统主题文件夹*显示隐藏文件: Ctrl+h*显示地址栏: Ctrl+l*查看已安装字体:在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts

7.补充部分:

*查看本地所有的tpc,udp监听端口: netstat-tupln(t=tcp, u=udp, p=program, l=listen, n=numric)*通过man搜说相关命令: man-k keyword. eg: man-k user*或者用 apropos*统计文件所占用的实际磁盘空间: du(du- estimate file space usage)*统计文件中的字符,字节数: wc-c/-l/-w(wc- print the number of newlines, words, and bytes in files)*查看文件的内容: od-x/-c/....(od- dump files in octal and other formats)我认为od最有用的就是文件的字节流了: od-t x1 filename查看文件的 Ascii码形式: od-t c filename(其中统计信息最左边的是:字节数)*查找命令所在文件的位置: which od输出:/usr/bin/od查看该文件由哪个包提供: dpkg-S/usr/bin/od输出: coreutils:/usr/bin/od再查看coreutils包的全部内容就知道了linux的核心命令: dpkg-L coreutils然后 info coreutils哈哈,认真学吧,满世界都是命令!*可以用man命令产看某个命令的所有section的解释: man-a tty然后用q,和next转换到下一个section的解释* bash的好用的快捷键:ctrl+a:光标移到行首。ctrl+b:光标左移一个字母ctrl+c:杀死当前进程。ctrl+d:退出当前 Shell。ctrl+e:光标移到行尾。ctrl+h:删除光标前一个字符,同 backspace键相同。ctrl+k:清除光标后至行尾的内容。ctrl+l:清屏,相当于clear。ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的historyctrl+u:清除光标前至行首间的所有内容。ctrl+w:移除光标前的一个单词ctrl+t:交换光标位置前的两个字符ctrl+y:粘贴或者恢复上次的删除ctrl+d:删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符ctrl+f:光标右移ctrl+z:把当前进程转到后台运行,使用’ fg‘命令恢复。比如top-d1然后ctrl+z,到后台,然后fg,重新恢复*快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标中键即可。*等效中键:a、按下滑轮等效于中键。b、同时按下鼠标左右键,等效于中键。*快速重启X服务:同时按下: Alt+ Ctrl+ Backspace三个键。*打开运行窗口:同时按下 Alt+ F2键。*戴屏: a、全屏:直接按下 PrtScr键。b、当前窗口:同时按下 Alt+ PrtScr键。c、延时戴屏:在终端或运行窗口中输入命令: gnome-screenshot--delay 3,将延时 3秒后戴屏。*直接将文件管理器中的文件拖到 GNOME终端中就可以在终端中得到完整的路径名。 8.ulimitulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。ulimited不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)和可同时运行的最大进程数(max user processes)无效-a列出所有当前资源极限-c设置core文件的最大值.单位:blocks-d设置一个进程的数据段的最大值.单位:kbytes-f Shell创建文件的文件大小的最大值,单位:blocks-h指定设置某个给定资源的硬极限。如果用户拥有 root用户权限,可以增大硬极限。任何用户均可减少硬极限-l可以锁住的物理内存的最大值-m可以使用的常驻内存的最大值,单位:kbytes-n每个进程可以同时打开的最大文件数-p设置管道的最大值,单位为block,1block=512bytes-s指定堆栈的最大值:单位:kbytes-S指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果-H和-S标志均未指定,极限适用于以上二者-t指定每个进程所使用的秒数,单位:seconds-u可以运行的最大并发进程数-v Shell可使用的最大的虚拟内存,单位:kbyteseg: ulimit-c 1000(可以先通过ulimit-c查看原来的值)

阅读剩余
THE END