Crashing Math App
I am making a simple math addition app and Xcode says it builds correctly, but the app won't open up on the simulator or on my device. It is a winow based application, but I'm manually adding a UITabBarController
.
This is what my AreaViewController.h says
#import <UIKit/UIKit.h>
@interface AreaViewController : UIViewController {
<snipped ivars>
}
@property (retain, nonatomic) UITextField *add11;
@property (retain, nonatomic) UITextField *add12;
@property (retain, nonatomic) UITextField *add13;
@property (retain, nonatomic) UITextField *add21;
@property (retain, nonatomic) UITextField *add22;
@property (retain, nonatomic) UITextField *add23;
@property (retain, nonatomic) UITextField *add31;
@property (retain, nonatomic) UITextField *add32;
@property (retain, nonatomi开发者_如何学编程c) UITextField *add33;
@property (retain, nonatomic) UILabel *add1Result;
@property (retain, nonatomic) UILabel *add2Result;
@property (retain, nonatomic) UILabel *add3Result;
-(IBAction)calculate:(id)sender;
-(IBAction)hideKeyboard:(id)sender;
@end
My AreaViewController.m
#import "AreaViewController.h"
@implementation AreaViewController
@synthesize add11, add12, add13;
@synthesize add21, add22, add23;
@synthesize add31, add32, add33;
@synthesize add1Result, add2Result, add3Result;
-(IBAction)calculate:(id)sender {
float floatAdd1Result=[add11.text floatValue]+[add12.text floatValue]+[add13.text floatValue];
float floatAdd2Result=[add21.text floatValue]+[add22.text floatValue]+[add23.text floatValue];
float floatAdd3Result=[add31.text floatValue]+[add32.text floatValue]+[add33.text floatValue];
add1Result.text=[NSString stringWithFormat:@"%1.2f",floatAdd1Result];
add2Result.text=[NSString stringWithFormat:@"%1.2f",floatAdd2Result];
add3Result.text=[NSString stringWithFormat:@"%1.2f",floatAdd3Result];
}
-(IBAction)hideKeyboard:(id)sender {
[add11 resignFirstResponder];
[add12 resignFirstResponder];
[add13 resignFirstResponder];
[add21 resignFirstResponder];
[add22 resignFirstResponder];
[add23 resignFirstResponder];
[add31 resignFirstResponder];
[add32 resignFirstResponder];
[add33 resignFirstResponder];
}
- (void)dealloc {
[add11 release];
[add12 release];
[add13 release];
[add21 release];
[add22 release];
[add23 release];
[add31 release];
[add32 release];
[add33 release];
[add1Result release];
[add2Result release];
[add2Result release];
[super dealloc];
}
@end
My console says:
[Session started at 2011-01-24 18:33:13 -0600.]
WARNING: Falling back to active SDK directory at: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk
<snip>
This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys004
Loading program into debugger…
Program loaded.
target remote-mobile /tmp/.XcodeGDBRemote-3466-67
Switching to remote-macosx protocol
mem 0x1000 0x3fffffff cache
mem 0x40000000 0xffffffff none
mem 0x00000000 0x0fff none
run
Running…
[Switching to thread 11523]
[Switching to thread 11523]
sharedlibrary apply-load-rules all
continue
warning: UUID mismatch detected with the loaded library - on disk is:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation
<snip>
warning: UUID mismatch detected with the loaded library - on disk is:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/PrivateFrameworks/MBX2D.framework/MBX2D
Ignoring packet error, continuing...
gdb stack trace around reply contains invalid hex digit:
0 gdb-arm-apple-darwin 0x0018dc33 remote_backtrace_self + 54�
1 gdb-arm-apple-darwin 0x0019081d fromhex + 65�
<snip>
43 gdb-arm-apple-darwin 0x00085592 catch_errors + 78�
44 gdb-arm-apple-darwin 0x0008646b gdb_main + 63�
45 gdb-arm-apple-darwin 0x00001f06 main + 52�
46 gdb-arm-apple-darwin 0x00001e95 start + 53�
recent remote packet log at point of error:
Sent: [1295915610.545:96] m3757d780,40
Recvd: [1295915610.548:96] 1800000074f9710fa01a33b5bb04c4aeabd6be7d220000803000000000000000000000000c3197080807000000e06c080000000064eaa708c8120000cc688b08
Sent: [1295915610.548:96] m3757d7c0,40
Recvd: [1295915610.551:96]
warning: Unable to read symbols from [memory object "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/PrivateFrameworks/MBX2D.framework/MBX2D" at 0x3076a000]: File format not recognized.
warning: Could not read dyld entry: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/PrivateFrameworks/MBX2D.framework/MBX2D from inferior memory at 0x3076a000 with slide 0x0 and length 4294967295.
The Debugger has exited due to signal 15 (SIGTERM).The Debugger has exited due to signal 15 (SIGTERM).
[Session started at 2011-01-24 18:36:46 -0600.]
Terminating in response to SpringBoard's termination.
Edit by Dave DeLong:
I've trimmed down the code as much as I could. I've removed instance variable declarations and left the @property
statements, collapsed @synthesize
lines, simplified the code, stripped dead methods, snipped long repetitive stuff, etc. I also removed the code download link, since it only linked to a zipped copy of the .xcodeproj file (but no source).
The fact that you're dying in the dynamic loader stuff would seem to imply that your binary didn't build correctly. When I start getting strange errors, I find it's best to clean my entire project and re-build everything from scratch. To clean, simply go to the Build menu and choose "Clean All Targets". Once that finishes, try building and running again.
Try:
- unplug the phone
- delete the app from the phone (using the standard method of holding your finger on the icon until the ‘X’ appears)
- Once deleted, plug back in and re-build
- Again the app crashes on the device, but this time after the crash, unplug again and run it directly from the phone
Sometimes this helps to me:
- restart your device
- restart Xcode
- clean all builds and clean xcode cache
- delete all breakpoints... I have seen Xcode becoming crazy and normal again after deleting all breakpoints from a project. Sometimes Xcode loses its marbles and you have to help it.
- as a radical measure right click on the xcodeproj file, choose Show Package Contents and delete everything inside that package except for the pbxproj file. Then reopen the project.
Before doing #5 make a backup of your project... just in case.
EDIT:
You may have a problem on your disk or Xcode. Use Disk Utility and verify/repair permissions on your disk, remove then reinstall Xcode / SDk from a fresh version. See if that works.
精彩评论