Re[2]: Отладка сторонней библиотеки Linux
От: keeper-andrew  
Дата: 23.05.13 19:05
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>Здравствуйте, keeper-andrew, Вы писали:


KA>>Очевидно что валится в методе initialise_event_info_struct из-за какого-то кривого указателя. Но какая при этом выполняется сишная операция мне понятно. gdb показал код ассемблерный:

Z><skip>

KA>>Жирным я выделил адрес который соответствует initialise_event_info_struct+0x1ca если я ничего не перепутал.

Z>это всего лишь адрес возврата, полученный раскруткой stack frameов, куда мы вернемся после вызова __fdelt_chk.

Спасибо. Теперь мне стало понятно откуда в бактрейсе еще 3 позиции из libc.

KA>>У меня есть исходник, у меня есть эта библиотечка и я собрал ее с максимальной отладочной инфой. Но gdb не показывает сишный код.


Z>чтобы он показывал код, ему нужно сказать где он (читать здесь)


KA>> Может быть есть способ отладки чтобы сопоставить код и этот адрес?

Z>`man addr2line`
Z>если отладочная инфа включена, должен хотябы показать номер строки

Огромное спасибо. Номер строки показал. Но там мега макрос так что теперь вопросов появилось больше чем ответов.
FD_SET( eis->fd, &eis->rfds );
из select.h

Z>а вообще, тебе же glibc явно написал: buffer overflow detected (все собрано с fortify).

Специально я этот fortify не подключал. Даже понятия не имею о том что это такое.

Z>поэтому я бы рекомендовал более надлежащий для этого tool: http://valgrind.org/docs/manual/mc-manual.html

Z>он тебе покажет кто и что делает с памятью не так... вполне вероятно что не придется ждать 2 часа пока все упадет -- если есть кривая работа с памятью, valgrind тебя завалит спамом...

Охблин. А казалось все будет проще....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.