The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Подскажите пожалуйста как проанализировать core дамп"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Подскажите пожалуйста как проанализировать core дамп" 
Сообщение от ssbb Искать по авторуВ закладки on 15-Ноя-05, 00:02  (MSK)
Подскажите пожалуйста как проанализировать core дамп, если приложение многопоточное

я делаю

#gdb prog
...
(gdb) core core
...

после этого в месте, где должны быть имена функций и  строки кода стоят вопросительные знаки
свое приложение (генерирующее core) компилирую примерно так
#g++ -g -o $(NAMWE) $(INC) $(LIBDIR) $(LIB)  $(NAMWE).cpp
Там еще Qt окошки подключиются (если это принципиально) ...

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Подскажите пожалуйста как проанализировать core дамп" 
Сообщение от horsh Искать по авторуВ закладки(??) on 20-Ноя-05, 19:41  (MSK)
>Подскажите пожалуйста как проанализировать core дамп, если приложение многопоточное
>
>я делаю
>
>#gdb prog
>...
>(gdb) core core
>...
>
>после этого в месте, где должны быть имена функций и  строки
>кода стоят вопросительные знаки

попробовать не gdb, а dbx из Sun Studio
у него с многопоточностью проблем нет.

чем анализировать кору, имеет смысл
просто запустить приложение под dbx
и когда оно рухнет все может стать гораздо яснее.

>свое приложение (генерирующее core) компилирую примерно так
>#g++ -g -o $(NAMWE) $(INC) $(LIBDIR) $(LIB)  $(NAMWE).cpp
>Там еще Qt окошки подключиются (если это принципиально) ...

Если падение внутри QT -- то можно пересобрать QT с -g
и проверить с использованием дебажного варианта библиотеки.

Можешь запостить стек трейс?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Подскажите пожалуйста как проанализировать core дамп" 
Сообщение от ssbb Искать по авторуВ закладки on 22-Ноя-05, 20:47  (MSK)
Спасибо за ответ.

В каком месте валится программа я выяснил (в этот раз).
Моя проблема в том, что я не смогу легко выяснить в каком месте cвалится программа в других случаях...
Например, в современных Линуксах я не могу найти где располагается core файл (когда падает программа) (где его искать ?) (раньше он был в каталоге из которого запускаешь программу)

Я перехватываю 11 сигнал, а затем делаю siglongjmp, чтобы не сваливалась программа. Можно ли как-нибудь узнать какая инструкция выполнялась перед вызовом 11 сигнала ?

В винде есть отладочные библиотеки и есть релизные. В линуксе существует такое деление ? И нужно ли как-то специально подключать отладочные библиотеки ?

> Можешь запостить стек трейс?

Что такое стек трейс. Если это то, что вызвается в gdb путем bt, то там у меня одни вопросительные знаки (сейчас у меня проблемного кода нет, просто нужно научиться отлаживать многопоточные программы штатными средствами (которые всегда есть под рукой в Линуксе (во всех версиях))).

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Подскажите пожалуйста как проанализировать core дамп" 
Сообщение от horsh Искать по авторуВ закладки(ok) on 22-Ноя-05, 21:17  (MSK)

>Например, в современных Линуксах я не могу найти где располагается core файл
>(когда падает программа) (где его искать ?) (раньше он был в
>каталоге из которого запускаешь программу)

locate core

или он может не создаваться воовсе.

проверь "ulimit -c"

>>Я перехватываю 11 сигнал, а затем делаю siglongjmp, чтобы не сваливалась программа.
>Можно ли как-нибудь узнать какая инструкция выполнялась перед вызовом 11 сигнала
>?

man sigaction

>В винде есть отладочные библиотеки и есть релизные.
>В линуксе существует такое деление ?

собрана либа с -g -- отладочная
собрана без -- релизная.
Есть сорцы -- пересобрал без оптимизации и с -g --
-- вот тебе и отладочная QT

>И нужно ли как-то специально подключать отладочные библиотеки ?

man ld #в частности LD_LIBRARY_PATH

>
>
>> Можешь запостить стек трейс?
>
>Что такое стек трейс. Если это то, что вызвается в gdb путем
>bt, то там у меня одни вопросительные знаки

собери свою программу с -g, без оптимизации и возможно будет лучше.

вопросительные знаки могут быть по разным причинам.
например на x86_64 с "omit-frame-pointer"

> (сейчас у меня
>проблемного кода нет, просто нужно научиться отлаживать многопоточные программы штатными средствами
>(которые всегда есть под рукой в Линуксе (во всех версиях))).

линукс это не две системы, и даже не десять.
все линуксы друг от друга немножко отличаются.
поэтому надеяться на штатные средства "во всех версиях"
на приходится. бывает линукс, например, без gdb.

если хочется стабильности и штатных средств goto solaris.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Подскажите пожалуйста как проанализировать core дамп" 
Сообщение от sandy emailИскать по авторуВ закладки(??) on 07-Дек-05, 15:50  (MSK)
>если хочется стабильности и штатных средств goto solaris.

А чем FreeBSD не стабильна?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру