codeblocks调试时出现0x76f369f5 unlock+21这样的指针代表什么意思?

以下为代码,是一个用递归法求最大子序列的程序,输出应该是越界了

class Max_Subarray
{
public:
   Max_Subarray(int *left,int *right,int ans): low(left),high(right),sum(ans) {}
   Max_Subarray(const Max_Subarray &target) {low = target.low; high = target.high; sum = target.sum;}
   int *low;
   int *high;
    int sum;
};

Max_Subarray find_max_subarray(int *low,int *high)
{
    if (high-low==0)
        return Max_Subarray(low,high,0);
    if (high-low==1)
    {
        if ((*low)<0)
            return Max_Subarray(low,high,0);
        else
           return Max_Subarray(low,high,*low);
    }
    int *middle = low+(high-low)/2;
    //cout << "+" << high-middle << "+ " << endl;//这一句删掉就正常了
    Max_Subarray left_Max(find_max_subarray(low,middle));
    Max_Subarray right_Max(find_max_subarray(middle+1,high));
    Max_Subarray middle_Max(find_max_crossing_subarray(low,middle,high));
    if (left_Max.sum>right_Max.sum)
        if (left_Max.sum>middle_Max.sum)
            return left_Max;
    else
        if (right_Max.sum>middle_Max.sum)
            return right_Max;
    else
            return middle_Max;
}

Max_Subarray find_max_crossing_subarray(int *low,int *middle,int *high)
{
    if ((*middle)<0)
        return Max_Subarray(middle,middle,0);
    int sum = 0,part_Sum = 0, *left = middle, *right = middle;
    for (int *pointer = middle-1,sum_0 = 0;pointer>=low;--pointer)
    {
        if (sum_0+(*pointer)<0)
            break;
        sum_0 += (*pointer);
        if (sum_0>part_Sum)
        {
            left = pointer;
            part_Sum = sum_0;
        }
    }
    sum += part_Sum;
    part_Sum = 0;
    for (int *pointer = middle,sum_0 = 0;pointer<high;++pointer)
    {
        if (sum_0+(*pointer)<0)
            break;
        sum_0 += (*pointer);
        if (sum_0>part_Sum)
        {
            right = pointer;
            part_Sum = sum_0;
        }
    }
    sum += part_Sum;
    return Max_Subarray(left,right+1,sum);
}
codeblocks调试时出现0x76f369f5 unlock+21这样的指针代表什么意思?