调试器错误:不是可执行格式:无法识别文件格式

时间:2015-06-07 06:58:37

标签: c++ gdb

我已经编写了一个程序,并以“Swap.cpp'当我运行gdb(第一次)时,我收到错误:

  

" / Users / myname / Desktop / Swap":不是可执行格式:文件格式   不承认。

我不知道我做错了什么。任何帮助将不胜感激。

对不起,我应该提供更多信息:

  

我正在使用Mac OS。   我已经编译了程序并拥有了我可以在桌面上看到的Swap.o文件。以下是我在尝试从bash运行调试器时输入的命令:

    $ clang++ -g Swap.cpp -o Swap
    $ ./Swap

这会运行Swap,然后我尝试使用以下命令访问调试器:

    $ gdb Swap

然后给我上述消息。我试着做Rakholiya Jenish的建议,但无济于事。

2 个答案:

答案 0 :(得分:0)

在Windows上运行gdb:

path_to_gdb.exe program_to_debug

如果编译不正确,可以使用IDE(如果使用)或使用cmd.exe使用g ++编译:

 g++ -g Swap.cpp -o output -lm

答案 1 :(得分:0)

  

我想出了如何使用lldb而不是gdb。 lldb工作正常。这是我做的:

    $ clang++ -g -o Swap Swap.cpp
    $ lldb Swap
  

谢谢大家的帮助。