开发者

Why am I being told to set a breakpoint on malloc_error_break?

I'm seeing the following error in my application:

(4446,0xa0bc94e0) malloc: * error for object 0x1d153000: pointer being freed was not allocated * set a breakpoint in malloc_error_break to debug

What does this error mean?

I am trying to display 2000 addresses in a table view, and am seeing that error in the following code with cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];


    }

    obdata = [AddressBookData alloc];
    obdata = [arrayLocalAddressbook objectAtIndex:indexPath.row];
    // Set button Tag

    cell.textLabel.text =  [NSString  stringWithString:obdata.lastname];

    return cell;



}

// Customize the number of sections in the table view.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    //return [indexArray count];
    return 1;

}

开发者_开发问答

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{

    return [arrayLocalAddressbook count];

}

What could be causing this?


The application is giving you a hint as to how to proceed: set a breakpoint in malloc_error_break. When you get there, inspect the application's backtrace. You'll probably find that you're over-releasing an object or holding on to a stale pointer.


Two odd things:

obdata = [AddressBookData alloc];

You're not calling init on this object - in obj-c you usually have alloc-init together.

obdata = [arrayLocalAddressbook objectAtIndex:indexPath.row];

Then you're immediately assigning something else to this variable, so the first AddressBookData is never used.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜