Russian Qt Forum

Qt => Вопросы новичков => Тема начата: IzoLda от Февраль 08, 2012, 14:13



Название: файлы core.0000
Отправлено: IzoLda от Февраль 08, 2012, 14:13
есть класс имеющий класс параметров,при попытке обращения к параметрам программа вылетает после чего в папке появляются такие файлы как core.0000 с разными номерами...что это значит?при обращении к другим объектам класса все нормально работает...компилирую через командную строку линукса. и Qt3. старой версии


Название: Re: файлы core.0000
Отправлено: mutineer от Февраль 08, 2012, 14:15
видимо это дамп памяти после креша приложения


Название: Re: файлы core.0000
Отправлено: BRE от Февраль 08, 2012, 14:16
Где то ты не правильно работаешь с памятью и программа завершается аварийно.
http://ru.wikipedia.org/wiki/%D0%94%D0%B0%D0%BC%D0%BF_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8


Название: Re: файлы core.0000
Отправлено: SimpleSunny от Февраль 08, 2012, 16:46
Добавь в pro файл
CONFIG += debug
Скомпилируй, запусти.
После креша приложения и создания дамп файла
Посмотри в gdb где, как и почему вылетает.

gdb  /path/to/binary --core /path/to/core_file
where покажет функцию и параметры при которых крешится


Название: Re: файлы core.0000
Отправлено: IzoLda от Февраль 16, 2012, 09:28
что то я не совсем поняла как пользоваться gdb...нашла адрес памяти где вылетает программа.как мне ее найти в своей программе?
вернула программу в тот вид когда он работал нормально,но почему то все равно вылетает и выдает коры...пишет что ошибка в какой то функции на которую раньше не ругался...помогите,пожалуйста!


Название: Re: файлы core.0000
Отправлено: andrew.k от Февраль 16, 2012, 12:48
что то я не совсем поняла как пользоваться gdb...нашла адрес памяти где вылетает программа.как мне ее найти в своей программе?
вернула программу в тот вид когда он работал нормально,но почему то все равно вылетает и выдает коры...пишет что ошибка в какой то функции на которую раньше не ругался...помогите,пожалуйста!
команда bt покажет стек вызовов. Если скомпилено с отладкой, то и номера строк в исходниках с именами файлов.

А команда help поможет в этом:
что то я не совсем поняла как пользоваться gdb...