当前位置:  开发笔记 > 编程语言 > 正文

如何使用命令标志在未来的共享库上设置断点

如何解决《如何使用命令标志在未来的共享库上设置断点》经验,为你挑选了3个好方法。

我正在尝试使用--command标志自动化gdb会话.我正在尝试在共享库(Unix的等价物DLL)中的函数上设置断点.我的cmds.gdb看起来像这样:

set args /home/shlomi/conf/bugs/kde/font-break.txt
b IA__FcFontMatch
r

但是,我得到以下内容:

shlomi:~/progs/bugs-external/kde/font-breaking$ gdb --command=cmds.gdb...
GNU gdb 6.8-2mdv2009.0 (Mandriva Linux release 2009.0)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu"...
(no debugging symbols found)
Function "IA__FcFontMatch" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]

所以它毕竟不设置断点.如何使其默认回答"y"以在挂起的未来共享库加载时设置断点?

我记得我能够做点什么,但不记得是什么.



1> Shlomi Fish..:

回答我自己,我想给出一个人在IRC上给我的答案:

(gdb) apropos pending
actions -- Specify the actions to be taken at a tracepoint
set breakpoint -- Breakpoint specific settings
set breakpoint pending -- Set debugger's behavior regarding pending breakpoints
show breakpoint -- Breakpoint specific settings
show breakpoint pending -- Show debugger's behavior regarding pending breakpoints

因此设置断点等待诀窍; 它用于cmds.gdb例如

set breakpoint pending on
break :


好极了!我今天学到了一些关于GDB的新知识=)

2> 小智..:

OT:在终端中,它看起来像是在一行中调试Caja:

gdb -ex "set breakpoint pending on" -ex "break gdk_x_error" -ex run --args caja --sync


你在哪里找到'ex'开关?,我在文档中找不到对这个参数的任何引用(但它有效:))

3> RandomNickNa..:

没有符号.

objdump -t /lib/libacl.so
SYMBOL TABLE:
no symbols
objdump -T /lib/libacl.so
...
00002bd0 g    DF .text  000000d0  ACL_1.0     acl_delete_entry
...


(gdb) break 0x0002bd0 

(gdb) x/20i acl_delete_entry
0x2bd0 :      stwu    r1,-32(r1)
0x2bd4 :    mflr    r0
0x2bd8 :    stw     r29,20(r1)
0x2bdc :   stw     r30,24(r1)
0x2be0 :   mr      r29,r4
0x2be4 :   li      r4,28972

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有