From 8970a0617dc025adf106ee7319af362d8d6e4a54 Mon Sep 17 00:00:00 2001 From: Riccardo Mottola Date: Tue, 6 Jul 2021 05:12:13 +0200 Subject: [PATCH] parse filename and line on stop --- Modules/Debuggers/ProjectCenter/GDBWrapper.m | 23 +++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Modules/Debuggers/ProjectCenter/GDBWrapper.m b/Modules/Debuggers/ProjectCenter/GDBWrapper.m index b9167ca..5c5aace 100644 --- a/Modules/Debuggers/ProjectCenter/GDBWrapper.m +++ b/Modules/Debuggers/ProjectCenter/GDBWrapper.m @@ -333,7 +333,7 @@ NSString *lineNum; bkpDict = [value objectForKey:@"bkpt"]; - fileName = [bkpDict objectForKey:@"file"]; + fileName = [bkpDict objectForKey:@"fullname"]; lineNum = [bkpDict objectForKey:@"line"]; NSLog(@"parsed from GDB bkpt: %@:%@", fileName, lineNum); if (fileName != nil && lineNum != nil) @@ -375,6 +375,27 @@ if ([dictionaryName isEqualToString:@"stopped"]) { [debugger setStatus:@"Stopped"]; + if ([dict objectForKey:@"reason"] != nil) + { + NSDictionary *frameDict; + NSString *fileName; + NSString *lineNum; + + frameDict = [dict objectForKey:@"frame"]; + fileName = [frameDict objectForKey:@"fullname"]; + lineNum = [frameDict objectForKey:@"line"]; + NSLog(@"parsed from GDB %@ : %@:%@", [dict objectForKey:@"reason"], fileName, lineNum); + if (fileName != nil && lineNum != nil) + { + [debugger setLastFileNameParsed: fileName]; + [debugger setLastLineNumberParsed: [lineNum intValue]]; + } + else + { + [debugger setLastFileNameParsed: nil]; + [debugger setLastLineNumberParsed: NSNotFound]; + } + } } return PCDBAsyncStatusRecord; }