linux 如何在GDB中打开源文件

tct7dpnv  于 2023-11-17  发布在  Linux
关注(0)|答案(5)|浏览(150)

我使用GDB附加到正在运行的进程并捕获断点。我执行以下命令序列:
$ gdb -tui
(gdb)附加PID
现在我打开了GUI TUI view,但没有任何源文件。
我一直在拼命地试图谷歌一种方法来加载/打开一个源文件,以便能够执行命令“打破“,但不幸的是,我找不到任何东西,将简单的工作。

t98cgbkg

t98cgbkg1#

我也有同样的问题令人惊讶的是,这样一个基本的函数是如此晦涩难懂。我的解决方法是使用文件名和函数名来设置断点:

b <filename>:<function name>

字符串

piwo6bdm

piwo6bdm2#

我终于知道了如何在cgdb中做到这一点:
1.按Esc键转到代码窗口。
1.按Alt-O组合键。
1.向下滚动到要打开的源文件,然后按Enter键。
现在您可以在这个档案中设定中断点。

0dxa2lsx

0dxa2lsx3#

我发现在gdb中,list知道符号,所以
l main()
将在任何定义的文件中打开main(在这个例子中我假设是C-你没有指定语言)。
TAB还完成了函数名(与Linux命令行一样),

3mpgtkmj

3mpgtkmj4#

阅读GDB文档中的检查源文件章节。
你可以使用list命令。
当然,你需要适当地设置目录列表。使用dircommand
GDB documentation以教程章节开始,所以请阅读它。
当然,您的所有软件都应该使用-g(甚至 -g3)从编译器获取其调试信息。
顺便说一句,你的源文件已经被gdb打开了(也就是说:对gdb可见)。你可能想要list的一部分,或者在其中放置一个断点(使用breaktbreak)。不需要你的部分的特定操作就可以让它对gdb可见(可能除了dir命令)。

osh3o9ms

osh3o9ms5#

只需使用list file.c:1来显示第1行的file.c内容。

相关问题