我需要在交互式控制台上使用gdb调试C ++应用程序(使用g ++ - 4.5编译)。除了start,list和bt命令之外,我对它知之甚少。我不是要求有关它的教程,因为我发现很多我的老朋友谷歌。我只是需要一些帮助,或者在帮助或参考资料中找不到的东西。
C ++应用程序是一个UnitTest ++运行器,它链接了几个共享库。所有这些库都使用适当的标志来构建调试信息(-ggdb -O0),我只需要一种方法在其中一个共享库的某个源文件中设置断点。我不确定我应该如何导航到该列表并设置断点
还有任何想要伸出援手的gdb大师吗?
答案 0 :(得分:0)
在gdb中设置断点使用break
命令。您也可以使用别名b
。
示例,如果您想在file.cpp
(gdb) b file.cpp:61
OR
(gdb) b "file.cpp":61
如果你想破解一个类中的方法,在gdb提示符下输入类名,然后按tab键,它会显示该类中的所有方法,然后可以像这样设置断点。
display()
class Foo
示例
(gdb) b Foo::display()
如果您想要更具交互性/ GUI模式,请使用Data Display Debugger(DDD)或转到Eclipse CDT
要查看加载的共享库的状态,请使用info shared