GDB не работает с -D_FILE_OFFSET_BITS = 64 - PullRequest
2 голосов
/ 24 января 2010

Я собираю приложение i386 C ++ на Snow Leopard.

Когда я компилирую с -D_FILE_OFFSET_BITS = 64, я не могу использовать двоичный файл с gdb. Я получаю следующее сообщение об ошибке:

предупреждение: не удалось найти объектный файл "/var/folders/kw/kwmH332LGwCIh3GrRREgCk+++TI/-Tmp-//ccZfMAM5.o" - нет доступной отладочной информации для "test.cpp".

1 Ответ

4 голосов
/ 24 января 2010

Скорее всего, это не имеет ничего общего с -D_FILE_OFFSET_BITS=64.

Когда вы компилируете в Mac OS, отладочная информация не загружается в исполняемый файл, а остается в объектном файле, и отладчик ищет ее там.

Из вашего предупреждающего сообщения видно, что вы сделали:

g++ -D_FILE_OFFSET_BITS=64 -g test.cpp

Это создает временный объектный файл (с именем, подобным ccZfMAM5.o), связывает этот объектный файл с исполняемым файлом, а затем удаляет объектный файл. Поскольку отладчик не может прочитать отладочную информацию из более не представленного объектного файла, вы получите предупреждение.

Вместо этого сделайте следующее:

g++ -g -c -D_FILE_OFFSET_BITS=64 test.cpp
g++ -g test.o

Это сделает объектный файл test.o (и содержащуюся в нем отладочную информацию) доступным для отладчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...