From b22127fcc235a699ed3ecfdb60651aa92eff72df Mon Sep 17 00:00:00 2001 From: Laurent Sansonetti Date: Fri, 28 Oct 2011 12:47:22 +0200 Subject: [PATCH] debug mode: auto break on exceptions --- data/src/sim.m | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/data/src/sim.m b/data/src/sim.m index 9b9394c7..3e5ae3e7 100644 --- a/data/src/sim.m +++ b/data/src/sim.m @@ -57,14 +57,13 @@ sigforwarder(int sig) // Forward ^C to gdb. signal(SIGINT, sigforwarder); - // Create the gdb commands file (used to 'continue' the process). NSString *cmds_path = [NSString pathWithComponents: [NSArray arrayWithObjects:NSTemporaryDirectory(), @"_simgdbcmds", nil]]; - if (![[NSFileManager defaultManager] fileExistsAtPath:cmds_path]) { + //if (![[NSFileManager defaultManager] fileExistsAtPath:cmds_path]) { NSError *error = nil; - if (![@"continue\n" writeToFile:cmds_path atomically:YES + if (![@"set breakpoint pending on\nbreak rb_exc_raise\ncontinue\n" writeToFile:cmds_path atomically:YES encoding:NSASCIIStringEncoding error:&error]) { fprintf(stderr, "can't write gdb commands file into path %s: %s\n", @@ -72,7 +71,7 @@ sigforwarder(int sig) [[error description] UTF8String]); exit(1); } - } + //} // Run the gdb process. NSString *gdb_path = @"/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/libexec/gdb/gdb-i386-apple-darwin"; @@ -111,8 +110,8 @@ main(int argc, char **argv) debug_mode = atoi(argv[1]) == 1 ? YES : NO; NSNumber *device_family = [NSNumber numberWithInt:atoi(argv[2])]; NSString *sdk_version = [NSString stringWithUTF8String:argv[3]]; - NSString *app_path = [NSString stringWithUTF8String:realpath(argv[4], NULL)]; - + NSString *app_path = + [NSString stringWithUTF8String:realpath(argv[4], NULL)]; [[NSBundle bundleWithPath:@"/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/iPhoneSimulatorRemoteClient.framework"] load];