2014-11-29 3 views
2

Я пытаюсь отлаживать мою программу C, но мой отладчик показывает это на моем терминале:/lib/x86_64-linux-gnu/libthread_db.so.1 Файл не существует

> (gdb) file main 

Reading symbols from main...done. 

> (gdb) run 

Starting program: /home/userA/Desktop/test/part4_sent/main 
[Thread debugging using libthread_db enabled] 
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 
The file doesn't exist. 
[Inferior 1 (process 10250) exited with code 01] 

> (gdb) 

В чем проблема? Я искал в интернете, но я ничего работать не нашел ..

+0

Этот файл действительно существует в вашей системе? – foips

+0

У вас/lib/x86_64-linux-gnu? – tvCa

+0

Да, файл существует, я искал его, и он находится в lib/x86_64-linux-gnu .. Я не знаю, почему кажется, что его не существует. Должен ли я изменить путь или что-то еще? – linous

ответ

3

Эти линии производятся GDB:

Starting program: /home/userA/Desktop/test/part4_sent/main 
[Thread debugging using libthread_db enabled] 
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 

Эта линия, скорее всего, производится вашей программой, и это не то, что GDB печатает :

The file doesn't exist. 

Эта линия GDB говорит вам, что ваша программа завершилась с кодом ошибки 1:

[Inferior 1 (process 10250) exited with code 01] 

Чтобы проверить эту теорию, вы можете установить точку останова на main и заметить, что она достигнута.

После этого вы можете использовать catch syscall exit_group, что приведет к остановке GDB, когда ваша программа выйдет, и используйте команду GDB where, чтобы узнать, почему она выходит. (Требуется ли вашей программе входной файл, который вы не можете предоставить?).

+0

Да, в этом была проблема. Файл не существует, строка была моей программой, так как у меня был список соединений. Поэтому я сказал, что это аргумент на gdb, и это сработало! – linous

 Смежные вопросы

  • Нет связанных вопросов^_^