Jim*_*Jim 13 linux logs debugging application
如果应用程序在 Windows 中崩溃,我们可以检查管理工具中的事件查看器以查看崩溃的原因。有时它有有用的信息,而其他人没有,但这是一个开始。
在 linux 中,如果一个应用程序(任何)崩溃了,人们如何开始跟踪发生了什么?
是否有一些中央日志或类似的东西?
gol*_*cks 13
是否有一些中央日志或类似的东西?
系统日志的正常位置是/var/log/. 每个日志中放入的内容取决于 syslog 配置,但通常除了登录名之外的所有内容都转到/var/log/syslog.
这并不能保证个别应用程序会在出现问题时留下任何线索。但是它们或外壳程序可能会向标准输出/标准错误流吐出一些东西,如果您从终端在前台运行一个麻烦的应用程序,您将能够看到那些东西。
在 Ubuntu 上,段错误被写入/var/log/kern.log. 我通过创建一个段错误的程序来测试它:
void main() {
int *a=0;
*a=0;
}
Run Code Online (Sandbox Code Playgroud)
在它出现段错误之后,有一行/var/log/kern.log:
a.out[534]: segfault at 0 ip 08048432 sp bfaec8c0 error 6 in a.out[8048000+1000]
Run Code Online (Sandbox Code Playgroud)