Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Segmentation fault при вызове метода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение и умножение матриц http://www.cyberforum.ru/cpp-beginners/thread725641.html
Даны квадратные матрицы A(nxn), B(nxn), C(nxn) написать программу вычисления (A+B)*C. Помогите со сложением и умножением Вот мои наработки #include "stdafx.h" #include <iostream> #include...
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы В одномерном массиве, состоящем из n вещественных элементов, – вывести на печать элементы массива, значения которых не принадлежат промежутку . Значения a,b задавать с клавиатуры; – вычислить... http://www.cyberforum.ru/cpp-beginners/thread725638.html
C++ Изменить шрифт и его размер (консоль)
Как программно для windows можно поменять шрифт на Lucida Console и размер шрифта, скажем на 10ый ? Например через WINAPI или ещё как, лишь бы работало :)
Напечатать те слова исходного текста, у которых одинаковые соседи. C++
Очень прошу помощи в задании на строки: Задан текст. Напечатать те слова исходного текста, у которых одинаковые соседи. Заранее спасибо!)
C++ Наследование (Фигуры) http://www.cyberforum.ru/cpp-beginners/thread725624.html
Программа, фигуры. по наследованию. в моем коде нужно только найти параметры круга. в коде конструктор базового класса CShape был изменен на CShape (char *s) {name =new char ; strcpy(name,s);}. как...
C++ Линковщик студии суёт нос не туда куда надо Хочу разбить код на .h и .cpp файл, но эта, самка собаки, линковщик студии начинает творить непотребства. Пока весь код в .h файлах всё хорошо. Как есть сейчас: Colors. h - пара функций для... подробнее

Показать сообщение отдельно
lan143
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 15

Segmentation fault при вызове метода - C++

10.12.2012, 00:54. Просмотров 550. Ответов 9
Метки (Все метки)

Собственно такое дело, имеется следующий код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Item* m_items[PLAYER_SLOTS_COUNT];
 
Player::Player()
{
    ...
    memset(m_items, 0, sizeof(Item*)*PLAYER_SLOTS_COUNT);
    ...
}
 
void Player::RemoveFromWorld()
{
    ...
    for (uint8 i = PLAYER_SLOT_START; i < PLAYER_SLOT_END; ++i)
        if (m_items[i])
            m_items[i]->RemoveFromWorld();
}
Программа ловит Segmentation fault на m_items[i]->RemoveFromWorld(), но очень редко, не могу понять из-за чего. В gdb:
Код
#0  0x0000000000abf400 in Player::RemoveFromWorld (this=0x7fff80541000)
    at /home/x5/source/src/server/game/Entities/Player/Player.cpp:2442
No locals.
#1  0x0000000000a08433 in Unit::CleanupBeforeRemoveFromMap (
    this=0x7fff80541000, finalCleanup=true)
    at /home/x5/source/src/server/game/Entities/Unit/Unit.cpp:13247
        __FUNCTION__ = "CleanupBeforeRemoveFromMap"
#2  0x0000000000a0a34d in Unit::CleanupsBeforeDelete (this=0x7fff80541000, 
    finalCleanup=)
    at /home/x5/source/src/server/game/Entities/Unit/Unit.cpp:13269
No locals.
Никакой информации не вижу. Собирал без оптимизаций. g++ (Debian 4.7.1-5) 4.7.1. Подскажите пожалуйста, как можно решить эту проблему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru