Yardım gcc9 a güncelledikten sonra game.core

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

shekspro

Üye
Üye
Merhabalar,

çok uğraştım ama yapamadım çözüm bilen varsa yazarsa sevinirim...

sysser bu şekilde

ch1-core1:
(gdb) file game
Reading symbols from game...
(gdb) core game.core
[New LWP 100108]
[New LWP 100196]
[New LWP 100197]
[New LWP 100198]
warning: File "/usr/local/lib/gcc9/libstdc++.so.6.0.28-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /usr/local/lib/gcc9/libstdc++.so.6.0.28-gdb.py
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
Core was generated by `game'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x2901814b in free () from /lib/libc.so.7
[Current thread is 1 (LWP 100108)]
(gdb) bt full
#0  0x2901814b in free () from /lib/libc.so.7
No symbol table info available.
#1  0x28d655b8 in operator delete(void*) ()
   from /usr/local/lib/gcc9/libstdc++.so.6
No symbol table info available.
#2  0x0806209f in __gnu_cxx::new_allocator<unsigned int>::deallocate (
    this=<optimized out>, __p=<optimized out>)
    at /usr/local/lib/gcc9/include/c++/ext/new_allocator.h:128
No locals.
#3  std::allocator_traits<std::allocator<unsigned int> >::deallocate (__a=...,
    __n=<optimized out>, __p=<optimized out>)
    at /usr/local/lib/gcc9/include/c++/bits/alloc_traits.h:469
No locals.
#4  std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_M_deallocate (this=<optimized out>, __n=<optimized out>, __p=<optimized out>)
    at /usr/local/lib/gcc9/include/c++/bits/stl_vector.h:351
No locals.
#5  std::_Vector_base<unsigned int, std::allocator<unsigned int> >::~_Vector_base (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/local/lib/gcc9/include/c++/bits/stl_vector.h:332
No locals.
#6  std::vector<unsigned int, std::allocator<unsigned int> >::~vector (
    this=<optimized out>, __in_chrg=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /usr/local/lib/gcc9/include/c++/bits/stl_vector.h:680
No locals.
#7  parse_array (arg1=<optimized out>, arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at /usr/local/lib/gcc9/include/c++/bits/stl_vector.h:675
        m_vec_infoData = {<std::_Vector_base<unsigned int, std::allocator<unsigned int> >> = {_M_impl = {<std::allocator<unsigned int>> = {<__gnu_cxx::new_allocator<unsigned int>> = {<No data fields>}, <No data fields>}, <std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl_data> = {_M_start = <optimized out>, _M_finish = <optimized out>, _M_end_of_storage = <optimized out>}, <No data fields>}}, <No data fields>}
#8  0x0807aee3 in _start1 () at ../../common/length.h:1036
No symbol table info available.
#9  0x0807ae68 in _start () at ../../common/length.h:1036
No symbol table info available.
(gdb)

common/length.h:
typedef struct SItemPos
{
    BYTE window_type;
    WORD cell;
    SItemPos ()
    {
        window_type = INVENTORY;
        cell = WORD_MAX;
    }

    SItemPos (BYTE _window_type, WORD _cell)
    {
        window_type = _window_type;
        cell = _cell;  //1036.satırda bu var
    }

    bool IsValidItemPosition() const
    {
        switch (window_type)
        {
        case RESERVED_WINDOW:
            return false;
        case INVENTORY:
        case EQUIPMENT:
        case BELT_INVENTORY:
#ifdef ENABLE_SPLIT_INVENTORY_SYSTEM
        case SKILL_BOOK_INVENTORY:
        case UPGRADE_ITEMS_INVENTORY:
        case STONE_INVENTORY:
        case BOX_INVENTORY:
        case EFSUN_INVENTORY:
        case CICEK_INVENTORY:
#endif
            return cell < INVENTORY_AND_EQUIP_SLOT_MAX;
        case DRAGON_SOUL_INVENTORY:
            return cell < (DRAGON_SOUL_INVENTORY_MAX_NUM);
        case SAFEBOX:
        case MALL:
            return false;
#ifdef ENABLE_SWITCHBOT
        case SWITCHBOT:
            return cell < SWITCHBOT_SLOT_COUNT;
#endif
        default:
            return false;
        }
        return false;
    }
 
    bool IsEquipPosition() const
    {
        return (IsDefaultInventoryEquipPosition() || IsDragonSoulEquipPosition());
    }
    bool IsDefaultInventoryEquipPosition() const
    {
        return ((INVENTORY == window_type || EQUIPMENT == window_type) && cell >= INVENTORY_MAX_NUM && cell < INVENTORY_MAX_NUM + WEAR_MAX_NUM);
    }

#ifdef ENABLE_DS_GRADE_MYTH
    bool IsDragonSoulEquipPosition() const
    {
        return ((INVENTORY == window_type || EQUIPMENT == window_type) && cell >= DRAGON_SOUL_EQUIP_SLOT_START && cell < DRAGON_SOUL_EQUIP_SLOT_END);
    }
#else
    bool IsDragonSoulEquipPosition() const
    {
        return (DRAGON_SOUL_EQUIP_SLOT_START <= cell) && (DRAGON_SOUL_EQUIP_SLOT_END > cell);
    }
#endif

    bool IsBeltInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= BELT_INVENTORY_SLOT_START && cell < BELT_INVENTORY_SLOT_END);
    }

#ifdef ENABLE_EXTEND_INVEN_SYSTEM
    bool IsExtendInventoryPosition() const
    {
        return (EXTEND_INVENTORY_SLOT_START <= cell) && (EXTEND_INVENTORY_SLOT_END > cell);
    }
#endif

    bool IsDefaultInventoryPosition() const
    {
        return INVENTORY == window_type && cell < INVENTORY_MAX_NUM;
    }

#ifdef ENABLE_SWITCHBOT
    bool IsSwitchbotPosition() const
    {
        return SWITCHBOT == window_type && cell < SWITCHBOT_SLOT_COUNT;
    }
#endif

#ifdef ENABLE_SPLIT_INVENTORY_SYSTEM
    bool IsSkillBookInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= SKILL_BOOK_INVENTORY_SLOT_START && cell < SKILL_BOOK_INVENTORY_SLOT_END);
    }
    bool IsUpgradeItemsInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= UPGRADE_ITEMS_INVENTORY_SLOT_START && cell < UPGRADE_ITEMS_INVENTORY_SLOT_END);
    }
    bool IsStoneInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= STONE_INVENTORY_SLOT_START && cell < STONE_INVENTORY_SLOT_END);
    }
    bool IsBoxInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= BOX_INVENTORY_SLOT_START && cell < BOX_INVENTORY_SLOT_END);
    }
    bool IsEfsunInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= EFSUN_INVENTORY_SLOT_START && cell < EFSUN_INVENTORY_SLOT_END);
    }
    bool IsCicekInventoryPosition() const
    {
        return ((INVENTORY == window_type) && cell >= CICEK_INVENTORY_SLOT_START && cell < CICEK_INVENTORY_SLOT_END);
    }
#endif

    bool operator==(const struct SItemPos& rhs) const
    {
        return (window_type == rhs.window_type) && (cell == rhs.cell);
    }
    bool operator<(const struct SItemPos& rhs) const
    {
        return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
    }
} TItemPos;

const TItemPos NPOS (RESERVED_WINDOW, WORD_MAX);
 
Son düzenleme:
Geri