2

我需要在交互式控制台上使用 gdb 调试 C++ 应用程序(使用 g++-4.5 编译)。我对它知之甚少,除了 start、list 和 bt 命令。我不是要关于它的教程,因为我在我的老朋友 google 上找到了很多。我只需要一点帮助来解决我在帮助或参考中找不到的东西。

C++ 应用程序是一个 UnitTest++ 运行器,它链接多个共享库。所有这些库都是使用适当的调试信息标志 (-ggdb -O0) 构建的,我只需要一种方法来在其中一个共享库的某个源文件中设置断点。我不确定我应该如何导航到该列表并设置断点

任何 gdb 大师仍然想伸出援手吗?

4

1 回答 1

0

在 gdb 中设置断点使用break命令。您也可以使用别名b

例如,如果您想在第 61 行中断file.cpp

(gdb) b file.cpp:61

或者

(gdb) b "file.cpp":61

如果你想在类中的某个方法处中断,在 gdb 提示符下键入类名并按 Tab,它会显示类中的所有方法,然后你可以像这样设置断点。

示例display()中的方法class Foo

(gdb) b Foo::display()

如果您想要更具交互性/GUI 模式,请使用Data Display Debugger(DDD)或使用Eclipse CDT

要查看加载的共享库的状态,请使用info shared

于 2012-12-14T04:17:14.313 回答