如何找出导致我的 gnome 面板冻结的原因?

Nia*_*phy 6 panel gnome debug

我的侏儒面板每天大约冻结一次。

我如何生成某种调试信息以:

  • 找出导致冻结的原因或
  • 提交错误或查看其是否存在错误

当 gdb 附加到 gnome-panel 并且出现错误时,我无法从 gdb 中获取堆栈跟踪。

Reading symbols from /lib/libbz2.so.1.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libbz2.so.1.0
0x00007f7cefe10f48 in poll () from /lib/libc.so.6
(gdb) c
Continuing.

^C
^C
Run Code Online (Sandbox Code Playgroud)

“^C”是为了表明一旦出现错误 gdb 停止响应 Ctrl+c 并杀死 -INT。

Mic*_*haw 4

关于同一问题的错误报告的评论首先将记者指向一个名为“调试程序崩溃”的 wiki 页面,然后指向描述如何获取回溯的页面。也许这些将帮助您获得所需的调试信息。

我回答了有关类似问题的问题,并提供了可能对您有帮助的解决方法。事情是这样的:

  1. 在您的主目录中创建一个名为delayed-gnome-panel.sh 的脚本并将其标记为可执行文件。

  2. 编辑脚本,使其看起来像这样:

    #! /bin/bash
    sleep 3 && gnome-panel &
    exit
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后编辑 /usr/share/applications/gnome-panel.desktop 以便exec=bash /home/<user>/delayed-gnome-panel.sh.


小智 4

冷冻粘贴到面板上。

$ gdb --pid=`pidof gnome-panel`
(gdb) bt full
Run Code Online (Sandbox Code Playgroud)

还要确保安装了必要的调试符号。至少 libglib2.0-0-dbg 和 libgtk2.0-0-dbg。