gdb“在启动程序中退出代码126.”

时间:2012-04-16 01:36:00

标签: gdb

我正在调试一个c ++程序:

gdb simplesearch.o

然后gdb成功启动:

(gdb) Reading symbols from /home/zwx/workspace/xapian/examples/simplesearch.o...done.

但是当我试图跑步时:

(gdb) run

gdb报告:

Starting program: /home/zwx/workspace/xapian/examples/simplesearch.o 
/bin/bash: /home/zwx/workspace/xapian/examples/simplesearch.o: cannot execute binary file
/bin/bash: /home/zwx/workspace/xapian/examples/simplesearch.o: Success
During startup program exited with code 126.

有人有想法吗?

1 个答案:

答案 0 :(得分:8)

.o文件不是程序,它是一个目标文件,需要与库链接才能生成程序。您可以使用gdb检查其中的代码,但它不可运行(“无法执行二进制文件”消息)。您需要将其链接以制作程序。可能类似

g++ -o simplesearch simplesearch.o

就足够了,但没有更多的信息,不清楚它是否需要更多的库而不仅仅是系统C库和C ++运行时支持等。