Cygwin中的GDB缺少sigfe.s?

时间:2017-06-26 23:31:47

标签: gdb cygwin

在为学校做一些编程任务后,我决定开始研究我想到的一些项目。我决定在Windows上安装vim并使用Cygwin正确链接它。我首先安装了gcc和gdb,试着看看是否一切正常。我做了一个快速的C文件,有一些printf'所以我可以使用gdb进入它们。

我可以在main中设置断点,运行程序,获取第一个printf,但是当我尝试进入下一行时,会出现错误。

(gdb) step
_sigfe_puts () at sigfe.s:7019
7019    sigfe.s: No such file or directory.

我以为我没有正确安装gdb,所以我重新安装没有运气。我尝试使用UltraGDB来查看它是否会有所帮助,但同样的事情发生了,这次给了我一个更明确的错误。

Can't find a source file at "C:/cygwin64/cygwin/src/cygwin/cygwin-2.8.0/cygwin-2.8.0-1.x86_64/build/x86_64-pc-cygwin/winsup/cygwin/sigfe.s" 
Locate the file or edit the source lookup path to include its location.

我怀疑它与权限有关,所以我试图查找目录,结果发现它确实不存在。 C:/ cygwin64 /没有cygwin文件夹,更像是一个名为src的子文件夹,依此类推。我找到的是在cygwin64 / usr中有一个名为x86_64-pc-cygwin的文件夹,但它根本没有winsup文件夹。

我已经失去了我现在可以做些什么来解决这个错误,它在过去的几天里一直很烦我,并且没有找到任何有关此问题的修复方法。我假设GDB正在错误的地方寻找这个文件,但是如果我使用Cygwin安装程序可执行文件安装了gdb,那么这不应该正常工作吗?任何帮助将不胜感激,谢谢。

完成测试运行w /错误:

$ gdb ./test
GNU gdb (GDB) (Cygwin 7.10.1-1) 7.10.1
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./test...done.
(gdb) break main
Breakpoint 1 at 0x1004010ed: file test.c, line 6.
(gdb) run
Starting program: /home/User/test
[New Thread 13236.0x4c0]
[New Thread 13236.0x824]
[New Thread 13236.0x3078]
[New Thread 13236.0x374]

Breakpoint 1, main () at test.c:6
6         printf("Hello\n");
(gdb) step
_sigfe_puts () at sigfe.s:7019
7019    sigfe.s: No such file or directory.
(gdb)
7020    in sigfe.s
(gdb)
7023    in sigfe.s
(gdb)
_sigfe () at sigfe.s:19
19      in sigfe.s
(gdb)
20      in sigfe.s
(gdb)
21      in sigfe.s
.
.
.
(stops responding after various steps)

1 个答案:

答案 0 :(得分:0)

type ComposeExtension = ComposeExtension with static member (?<-) (ComposeExtension, (a:PathNode) , (b:HttpHandler)) = a.AddHandler b static member (?<-) (ComposeExtension, (a:PathNode) , (b:PathNode list)) = a.AddChildPaths b static member inline (?<-) (ComposeExtension, a , b) = a >=> b let inline (>=>) a b = (?<-) ComposeExtension a b 是在cygwin构建期间动态创建的源文件。

它存在于构建树中:

sigfe.s

它似乎是唯一具有此类特征的文件

$ find . -iname "*sigfe*"
./x86_64-unknown-cygwin/winsup/cygwin/sigfe.o
./x86_64-unknown-cygwin/winsup/cygwin/sigfe.s

理论上它应该包含在$ find . -iname "*.s" ./x86_64-unknown-cygwin/winsup/cygwin/sigfe.s

cygwin-debuginfo

您可以在cygwin邮件列表中突出显示该问题。 https://cygwin.com/cygwin/lists.html