标签: c gdb
我正在阅读这本书" C编程语言"并且做了所有的例子,并在GDB中探讨了发生了什么。
在下面的示例代码中,目标是评估几行文本以确定哪条是最长的行。我以为我自己的程序失败了,因为gdb挂在调用getchar()的for循环中。我跟着回溯,找到了罪魁祸首的功能,但无法确定确切的问题。然后我对示例代码做了同样的事情,并且在调用for的{{1}}循环中出现了完全相同的问题。
getchar()
for
答案 0 :(得分:1)
与通过shell执行程序不同,gdb不会接受^ d(ctrl + d)作为EOF。感谢Duck上面提供的评论,我发现如果我通过标准输入gdb提供了一个文件,它就解决了这个问题。
前:
(gdb)运行< file.txt的