代码之家  ›  专栏  ›  技术社区  ›  slashmais

如何解释X程序回溯报告?

  •  2
  • slashmais  · 技术社区  · 14 年前

    [编辑]

    Locking assertion failure.  Backtrace:
    #0 /usr/lib/libxcb-xlib.so.0 [0x7f71dcf9a9ac]
    #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x24) [0x7f71dcf9aa54]
    #2 /usr/lib/libX11.so.6 [0x7f71ddefe340]
    #3 /usr/lib/libX11.so.6(XAllocColor+0xc1) [0x7f71ddedada1]
    #4 /home/mais/code/simplewin/bin/Debug/simplewin [0x408e0b]
    #5 /home/mais/code/simplewin/bin/Debug/simplewin [0x409062]
    #6 /home/mais/code/simplewin/bin/Debug/simplewin [0x407a9d]
    #7 /home/mais/code/simplewin/bin/Debug/simplewin [0x406c6d]
    #8 /home/mais/code/simplewin/bin/Debug/simplewin [0x402734]
    #9 /home/mais/code/simplewin/bin/Debug/simplewin [0x407e37]
    #10 /home/mais/code/simplewin/bin/Debug/simplewin [0x407304]
    #11 /home/mais/code/simplewin/bin/Debug/simplewin [0x407335]
    #12 /lib/libpthread.so.0 [0x7f71ddc9afc7]
    #13 /lib/libc.so.6(clone+0x6d) [0x7f71dd26a59d]
    Locking assertion failure.  Backtrace:
    #0 /usr/lib/libxcb-xlib.so.0 [0x7f71dcf9a9ac]
    #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x17) [0x7f71dcf9ab17]
    #2 /usr/lib/libX11.so.6 [0x7f71ddefe420]
    #3 /usr/lib/libX11.so.6 [0x7f71ddefeb5b]
    #4 /usr/lib/libX11.so.6 [0x7f71ddefeeb5]
    #5 /usr/lib/libX11.so.6(XNextEvent+0x68) [0x7f71ddee5898]
    #6 /home/mais/code/simplewin/bin/Debug/simplewin [0x404bc2]
    #7 /lib/libpthread.so.0 [0x7f71ddc9afc7]
    #8 /lib/libc.so.6(clone+0x6d) [0x7f71dd26a59d]
    


    我如何解释以上内容以找到错误的位置/原因?

    1 回复  |  直到 14 年前
        1
  •  1
  •   BЈовић    14 年前

    1) 使用debug symbold(在gcc上,通过 -g (可选)
    2) 启用核心文件,一旦应用程序崩溃,用核心文件在gdb中打开它,并检查回溯
    3) 您的应用程序是多线程的并且使用xlib吗?如果是这样,您需要启用对xlib函数的多线程访问。
    4) 安装ddd,并使用它运行应用程序(ddd是linux调试程序gdb的gui前端)