обновлены статические библиотеки, теперь приложение закрывается раньше, чем что-либо в стеке. Как отлаживать - PullRequest
1 голос
/ 24 сентября 2010

Я занимаюсь разработкой консольного приложения Unix для OS X. Я только что обновил три статически связанные библиотеки (hdf5 и его зависимые компоненты szip и z). После перестроения всего приложение выходит из кода 1 сразу после запуска. Я не знаю, как исследовать проблему дальше в gdb, потому что к моменту выхода приложения в стеке ничего нет. С помощью otool -hv я подтвердил, что все библиотеки построены для архитектуры X86_64.

Я могу и снова могу заставить мое приложение работать, вернувшись к предыдущим двоичным файлам библиотеки, но я хотел бы узнать больше о том, что происходит на самой ранней стадии запуска приложения, которое вызывает его закрытие.

GDB результаты ниже:

gdb ./build-deb/xapp/xapp 
GNU gdb 6.3.50-20050815 (Apple version gdb-1472) (Wed Jul 21 10:53:12 UTC 2010)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ..... done

(gdb) run
Starting program: /researchSoftware/app_git/src/build-deb/xapp/xapp 
Reading symbols for shared libraries .++++............................................................. done

Program exited with code 01.
(gdb) backtrace
No stack.

1 Ответ

0 голосов
/ 24 сентября 2010

Это похоже на код, называемый exit (1) или return 1, поэтому я бы начал с установки точки останова в начале main и пошагового выполнения до вызова обработчика выхода или прерывания в обработчике выхода.

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