Debugger: Implement #9783.
TeamDebugger: - When we're notified that the target team has called exec(), take all necessary steps to prepare. These include saving settings for the old team, clearing out breakpoints, resetting signal dispositions, and removing the old team's image list. Also set a flag indicating an exec is pending for later processing. - On image load notification, if the pending flag is set, check if the new image is the app image, and if so update the team's name to the new image, load that respective team's settings, and set a temporary breakpoint in its main() so the user has a chance to perform any additional desired actions before starting execution in the new executable.
This commit is contained in:
@@ -184,6 +184,8 @@ private:
|
||||
bool _HandlePostSyscall(
|
||||
PostSyscallEvent* event);
|
||||
|
||||
void _PrepareForTeamExec(TeamExecEvent* event);
|
||||
|
||||
void _HandleImageDebugInfoChanged(image_id imageID);
|
||||
void _HandleImageFileChanged(image_id imageID);
|
||||
|
||||
@@ -259,6 +261,7 @@ private:
|
||||
TeamSettings fTeamSettings;
|
||||
int fCommandLineArgc;
|
||||
const char** fCommandLineArgv;
|
||||
bool fExecPending;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user