Здравствуйте, keeper-andrew, Вы писали:
KA>Очевидно что валится в методе initialise_event_info_struct из-за какого-то кривого указателя. Но какая при этом выполняется сишная операция мне понятно. gdb показал код ассемблерный:
<skip>
KA>Жирным я выделил адрес который соответствует initialise_event_info_struct+0x1ca если я ничего не перепутал.
это всего лишь адрес возврата, полученный раскруткой stack frameов, куда мы вернемся после вызова __fdelt_chk.
KA>У меня есть исходник, у меня есть эта библиотечка и я собрал ее с максимальной отладочной инфой. Но gdb не показывает сишный код.
чтобы он показывал код, ему нужно сказать где он (читать
здесь)
KA> Может быть есть способ отладки чтобы сопоставить код и этот адрес?
`man addr2line`
если отладочная инфа включена, должен хотябы показать номер строки
а вообще, тебе же glibc явно написал: buffer overflow detected (все собрано с fortify).
поэтому я бы рекомендовал более надлежащий для этого tool:
http://valgrind.org/docs/manual/mc-manual.html
он тебе покажет кто и что делает с памятью не так... вполне вероятно что не придется ждать 2 часа пока все упадет -- если есть кривая работа с памятью, valgrind тебя завалит спамом...