求助:Ubuntu 14.04 下能否直接实时追踪应用程序?
嘿,针对你在Ubuntu 14.04里遇到的Firefox间歇性崩溃甚至偶尔影响其他程序的问题,当然有实时追踪应用程序的实用方法,我结合你的需求整理了几个靠谱的方案:
实时追踪与排查工具推荐
1. 终端直接启动查看实时日志
最简便的方式就是从终端启动Firefox,这样程序运行时的所有日志、错误提示都会实时输出在终端里,一旦崩溃,你能第一时间看到报错细节:
firefox
如果崩溃时终端出现核心转储(core dump)相关提示,后续可以用调试工具深入分析,这对定位崩溃根源很有帮助。
2. 用strace监控系统调用
strace能实时追踪应用发起的所有系统调用和信号,比如文件访问、内存操作等,帮你捕捉崩溃前的异常行为。启动命令:
strace -o firefox_trace.log firefox
-o参数会把日志写入指定文件,避免终端刷屏,崩溃后查看firefox_trace.log的最后几行,就能找到崩溃前的关键操作。
3. 用sysdig做深度系统追踪
如果故障还会牵连其他程序,sysdig就很合适——它能实时监控系统层面的所有活动,包括进程交互、资源占用等。先安装:
sudo apt-get install sysdig
然后启动对Firefox的追踪:
sudo sysdig proc.name=firefox
它会实时输出Firefox相关的所有系统活动,你可以从中发现异常的资源消耗、进程间的异常交互等问题。
关于崩溃追踪的补充说明
你之前找到的系统崩溃追踪信息其实也能用于应用程序排查!Ubuntu 14.04默认支持核心转储,你可以这样利用:
- 先检查核心转储是否开启:执行
ulimit -c,如果输出是0,说明未开启,临时开启可以用ulimit -c unlimited;要永久开启的话,编辑/etc/security/limits.conf,添加一行* soft core unlimited。 - 当Firefox崩溃后,当前目录会生成
core.<进程ID>的转储文件,用gdb分析:
gdb firefox core.<pid>
进入gdb后输入bt命令,就能看到崩溃时的调用栈,这能帮你定位到具体的代码模块问题。
内容的提问来源于stack exchange,提问作者DEH
相关产品推荐
相关产品推荐

