繁体   English   中英

如何在 GDB 中打开源文件

[英]How to open a source file in GDB

我使用 GDB 附加到正在运行的进程并捕获断点。 我执行以下命令序列:

$ gdb -tui

(gdb) 附加 PID

现在我在没有任何源文件的情况下打开了 GUI TUI 视图

我一直在拼命地尝试谷歌一种加载/打开源文件的方法,以便能够执行命令“break”,但不幸的是我找不到任何可以简单工作的东西。

我也有同样的问题; 这么基本的功能竟然这么晦涩,真是太神奇了。 我的解决方法是使用文件名和函数名来设置断点:

b <filename>:<function name>

我终于找到了如何在 cgdb 中做到这一点:

  1. 按 Esc 转到代码窗口。
  2. 按 Alt-O。
  3. 向下滚动到要打开的源文件,然后按 Enter。

现在您可以在此文件中设置断点。

我发现在gdb中, list知道符号,所以

l main()

将在它定义的任何文件中打开 main (我假设在这个例子中是 C - 你没有指定一种语言)。

TAB还完成函数名称(如在 linux 命令行上),

阅读 GDB 文档的检查源文件章节。

您可以使用list命令。

当然,您需要适当地设置目录列表。 使用dir 命令

GDB 文档从教程章节开始,所以请阅读它。

当然,您的所有软件都应该使用-g (甚至-g3 )进行编译,以从编译器获取其调试信息。

顺便说一句,您的源文件已经由(即:可见) gdb打开。 您可能想要list一部分,或者在其中放置一个断点(使用breaktbreak )。 无需您执行任何特定操作即可使其对gdb可见(可能除了dir命令)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM