当我尝试在 cygwin 上使用 gdb 调试一个简单程序时,我得到以下信息:
C:\Users\Benoit St-Pierre\workspace_cpp\cs454>gdb a.exe
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 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 "i686-pc-cygwin"...
(gdb) start
Breakpoint 1 at 0x401a51: file server.cc, line 207.
Starting program: /cygdrive/c/Users/Benoit St-Pierre/workspace_cpp/cs454/a.exe
Error creating process /cygdrive/c/Users/Benoit St-Pierre/workspace_cpp/cs454/a.exe, (error 193).
错误 193 是 ERROR_BAD_EXE_FORMAT
。
编译后的应用程序本身运行良好,客户端可以连接应用程序并与之交互。我正在使用 cygwin 1.7,因为我正在使用新的 getaddrinfo
方法来设置套接字。该应用程序是使用 gcc 3.4.4 和以下命令编译的:
g++ -g3 server.cc
有人知道我可能做错了什么吗?
最佳答案
问题是您的路径名中有空格字符。将文件移动到不同的目录,gdb 将能够启动该进程。
关于c++ - Cygwin GDB 在尝试启动程序时出现错误 193,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106930/