Указатель this
может меняться между кадрами в трассировке GDB, если функция в следующем кадре вызывается для другого объекта (даже если объекты одного типа), поскольку это для конкретного экземпляра. Это вероятно не ваша проблема.
0x200
не является допустимым значением для this
и почти наверняка указывает на повреждение памяти какого-либо типа. Указатель this
иногда сохраняется в стеке и передается как невидимый первый аргумент функции. Поэтому, если вы повредили стек (выйдя за пределы записи в другую переменную), вы можете увидеть поврежденный указатель this.
Само значение 0x200
интересно. Поскольку он настолько близок к 0
, но на самом деле не 0
, это указывает на то, что рассматриваемый вами экземпляр, вероятно, является частью другого объекта или массива, расположенного 0x200
байт от начала этого объекта / массива, и что адрес объекта / массива на самом деле NULL
. Глядя на свой код, вы сможете довольно легко определить, какой объект получил значение NULL
, что приводит к сообщению 0x200
.