我目前正在使用NS-2(网络模拟器),我想使用gdb的tui选项,以便我可以在调试时查看课程代码。 (就像Visual studio一样)
截至目前,当我运行“gdb -tui”时,源窗口为空白。但是当我在gdb中执行“list”时,我可以看到该文件,但是我无法自动将其转到文件并指向中断位置。
任何想法如何做到这一点?
答案 0 :(得分:8)
您是否尝试过Ctrl-X A
组合?
它告诉gdb进入/离开TUI模式。
答案 1 :(得分:4)
使用gdb运行您的可执行文件:
$gdb -tui ./executable_name
在gdb终端上执行gdb
命令:“run”后,将立即显示源代码。
如果你在某一行上设置一个断点(例如:在main()
函数上),然后执行“run”会更好:源代码现在可见了。
答案 2 :(得分:1)
虽然我不确定GDB TUI,但如果您熟悉vi,请务必查看CGDB。它是使用类似vi的键绑定的GDB的TUI前端。
要在CGDB中设置断点,只需点击“转义”(当然),导航到要中断的行,然后点击空格键!
答案 3 :(得分:1)
您可以随时仔细检查,以便elf文件包含正确的数据。
假设您在某个地方打破了您的程序,那么您将在PC上获得一些阅读(程序计数器)。可以使用addr2line(在binutils中)交叉检查该值,因此您确实拥有正确的源文件。