
正文
soslinux命令 linux so
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
GDB如何从Coredump文件恢复动态库信息
查看 error log:
我们拿到了崩溃位置0xee36f1,如何找到与之相对的代码位置呢?
找台测试机,获取对应版本的安装包:
解压:
然后用 GDB 打开 mysqld:
在 0xee36f1 位置打一个断点:
我们可以看到,gdb 将崩溃位置的文件名和行号都打印出来,
剩下的事情,就可以交给开发工程师,按照这个崩溃堆栈来进行问题排查。
赠送章节
红框内的这串信息是什么?我们来解开看一下,
这段信息分为两段,"+0x71" 是一个偏移量,前面是一串文字,我们将文字解析出来:
可以看到前面这串文字是一个函数签名的编码,用 c++filt 还原编码以后,可以看到完整的函数签名。
红框内的这串信息的意思就是崩溃位置是 一个函数起始位置 + 偏移量。
我们大概可以猜到,这个 MySQL 的缺陷是在为 binlog 产生新的文件名时发生的。
小贴士:
函数起始位置 + 偏移量 是一种内存位置的表示方法,但该位置不一定是这个函数内的代码。
以本例来说,0xee36f1 这个位置,程序找到了就近的函数 generate_new_name 的起始位置,计算出有 0x71 这么多偏移,就表示成了 generate_new_name+0x71 这种形式。
但 0xee36f1 这个位置的代码,大概率是,但,不一定是 generate_new_name 这个函数内部的一段代码。
相关问答
Q1: CentOS怎样查看系统信息
ifconfig 用于获取网卡配置与网络状态等信息:格式为"ifconfig [网络设备] [参数]"。
查看本机当前的网卡配置与网络状态等信息,我们主要就是看每段开头的网卡名称、inet参数后面的IP地址、ether参数后面的物理mac地址以及RX、TX的接收与发送数据包的大小
uname 命令用于查看系统内核与系统版本等信息,格式为:“uname [-a]”。
一般我们会固定搭配上-a参数来完整查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息
uptime 命令用于查看系统的负载信息,格式为:“uptime”。
这个命令真的很棒,它可以为您显示当前系统时间、系统已运行时间、当前在线用户以及平均负载值等信息数据。平均负载值指的是最近1分钟、5分钟、15分钟的系统压力情况,负载值越低越好,尽量不要长期超过1。
另外您还可以结合搭配用"watch -n 1 uptime"命令(看下图文)来每秒刷新一次来获得当前的系统负载情况。
free 命令用于显示当前系统中内存的使用量信息,格式为:“free [-h]”。
为了保证Linux系统不会突然卡住宕机,因此内存使用量应该是运维人员时刻要关注的数据啦,我们可以使用-h参数来以更人性化的样式为我们展示出内存的实时使用量信息(真实的输出值中不包括中文注释部分)
who 命令用于查看当前登入主机的用户终端信息,格式为:"who [参数]"。
简单三个字母就可以快捷的显示出所有正在登陆着本机的用户名称以及他们正在开启的终端信息
last命令用于查看所有系统的登入记录,格式为:"last [参数]"。
下面使用last命令看到的本机登陆信息,其实仅仅是调取了过往保存到系统中的日志文件罢了,篡改里面的文字其实也很简单,因此对于做“黑客”入侵行为审计时其实并不牢靠,只能仅供我们参考而已
history命令用于显示历史执行过的命令,格式为:“history [-c]”。
这条命令应该是我最喜欢的了,history命令默认会保存1000条执行过的命令,若要修改可直接编辑/etc/profile文件的HISTSIZE值。它能显示出当前用户在本地计算机中执行过的所有命令记录,您可以使用-c参数来清空里面的历史数据,还可以使用“!编码数字”的方式来重复执行某一次的命令
sosreport 命令用于收集系统配置并诊断信息后输出结论文档
格式为:“sosreport”。当我们的Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能来简单收集计算机的状态和配置信息,以便让技术支持公司能够通过远程就解决了一些小问题,又或者让他们能对复杂问题能提前有些了解
Q2: linuxCentOS6.3系统中/etc/下有个sos.conf的文件是做什么的?
sos软件包带soslinux命令的
主要是用sosreport命令生成系统soslinux命令的Debug信息soslinux命令,用于系统排错,可以看手册soslinux命令:
man sosreport
Q3: Linux shell 中的ls与rm的搭配问题
可以删除。
kj@DCHORUS:~/PP$ touch a.gz b.gz c.gz a.abc
kj@DCHORUS:~/PP$ ls
a.abc a.gz b.gz c.gz
kj@DCHORUS:~/PP$ rm -f `ls *gz`
kj@DCHORUS:~/PP$ ls
a.abc
kj@DCHORUS:~/PP$
Q4: XP和LINUX的启动顺序
1.打开
默认的情况下这个文件是隐藏的,准确路径是c:\boot.ini,可以用记事本打开这个路径,也可以在“运行”中输入“c:\boot.ini”启动该文件。
常用的方法是去掉隐藏后用记事本打开,“资源管理器”→“工具”→“文件夹选项”→“查看”去掉“隐藏……”前面的√,“隐藏文件和文件夹”选“显示……”这样就去掉了隐藏,可以在c:\看到boot.ini文件了。
2.修改
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /nodetect /noguiboot
这是我的win2003的boot.ini文件,我就以我的这个来作示范
timeout=3延迟时间设置
延迟时间是系统启动引导菜单后在设定的延迟时间内用户没有进行任何操作时,进入默认的操作系统。
默认设置是30,如果你只有一个系统的话就设置为0,多系统的话就根据自己的情况设置一个时间。
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS默认系统
默认系统就
是延迟时间到了后自动进入的系统
我们经常修改的是partition(1)\WINDOWS这一块
partition(1)所指的就是第1个分区,通常也就是c:盘,WINDOWS就是你的系统文件夹。
如果你要默认的操作系统是d:盘的XP,那么这一块的内容就是partition(2)\WINDOWS
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /nodetect /noguiboot系统列表
在这个位置列上你的所有操作系统(一行一个系统)
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS这一块和上面“默认系统”的修改方法一样
=""""中间的内容就是开机显示列表时本系统的名称,可以任意修改,而且还支持中文!
/nodetect /noguiboot这部分是启动参数,在"后面加一个半角空格/参数,可以加多个。下面是各项参数的详细解释。
/fastdetect:快速检测,很多网站都推荐修改为/nodetect
/SAFEBOOT:安全启动,只启动HKLM\System\CurrentControlSetControl\SafeBoot中的驱动程序和服务,其后可跟三个参数Minimal、Network或Dsrepair。Minimal和Network允许在网络连接下启动系统。而Dsrepair 要求系统从备份设备中调入活动目录的设置。还有一个选项是Minimal(AlternateShell),它让系统调入由HKLM\System\ CurrentControlSetSafeBoot\AlternateShell指定的SHELL程序,而不使用默认的Explorer。
/NOGUIBOOT:不加载VGA驱动程序,也就不会显示启动过程和失败时的蓝屏信息。
/BOOTLOG:将日志写入Nnbtlog.txt文件。
/BASEVIDEO:使用标准VGA方式启动,这种方式主要用于显示驱动程序失效时。
/SOS:在调入驱动程序名时显示它的名称,因驱动问题而无法启动时使用比较好。
上面说的都是直接修改的方法,其实还可以用其他方法修改,
1.“系统属性”(在我的电脑上点右键→属性)→高级→“启动和故障恢复”设置。
2.运行→“msconfig”→boot.ini
希望我的回答能够对您有所帮助~
关于soslinux命令和linux so的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







