Lines Matching defs:breakpoint

25 	fLock("breakpoint manager"),
58 TRACE_CONTROL(" user breakpoint already valid and with same enabled "
64 TRACE_CONTROL(" creating breakpoints for breakpoint instances\n");
70 TRACE_CONTROL(" breakpoint instance %p\n", instance);
73 TRACE_CONTROL(" -> already has breakpoint\n");
78 Breakpoint* breakpoint = fTeam->BreakpointAtAddress(address);
79 if (breakpoint == NULL) {
80 TRACE_CONTROL(" -> no breakpoint at that address yet\n");
89 breakpoint = new(std::nothrow) Breakpoint(image, address);
90 if (breakpoint == NULL || !fTeam->AddBreakpoint(breakpoint)) {
91 delete breakpoint;
97 TRACE_CONTROL(" -> adding instance to breakpoint %p\n", breakpoint);
99 breakpoint->AddUserBreakpoint(instance);
100 instance->SetBreakpoint(breakpoint);
103 // If everything looks good so far mark the user breakpoint according to
108 // notify user breakpoint listeners
121 TRACE_CONTROL(" breakpoint instance %p\n", instance);
130 TRACE_CONTROL(" success, marking user breakpoint valid\n");
132 // everything went fine -- mark the user breakpoint valid
139 // notify again -- the breakpoint hadn't been added before
154 Breakpoint* breakpoint = instance->GetBreakpoint();
155 if (breakpoint == NULL)
160 breakpoint->RemoveUserBreakpoint(instance);
163 _UpdateBreakpointInstallation(breakpoint);
167 if (breakpoint->IsUnused())
168 fTeam->RemoveBreakpoint(breakpoint);
203 if (Breakpoint* breakpoint = instance->GetBreakpoint())
204 _UpdateBreakpointInstallation(breakpoint);
209 // detach the breakpoints from the user breakpoint instances
212 if (Breakpoint* breakpoint = instance->GetBreakpoint()) {
214 breakpoint->RemoveUserBreakpoint(instance);
216 if (breakpoint->IsUnused())
217 fTeam->RemoveBreakpoint(breakpoint);
238 // create a breakpoint, if it doesn't exist yet
239 Breakpoint* breakpoint = fTeam->BreakpointAtAddress(address);
240 if (breakpoint == NULL) {
245 breakpoint = new(std::nothrow) Breakpoint(image, address);
246 if (breakpoint == NULL)
249 if (!fTeam->AddBreakpoint(breakpoint))
253 BReference<Breakpoint> breakpointReference(breakpoint);
257 if (breakpoint->AddClient(client)) {
258 if (breakpoint->IsInstalled())
266 breakpoint->SetInstalled(true);
272 breakpoint->RemoveClient(client);
277 if (breakpoint->IsUnused())
278 fTeam->RemoveBreakpoint(breakpoint);
291 Breakpoint* breakpoint = fTeam->BreakpointAtAddress(address);
292 if (breakpoint == NULL)
296 breakpoint->RemoveClient(client);
298 // check whether the breakpoint needs to be uninstalled
299 bool uninstall = !breakpoint->ShouldBeInstalled()
300 && breakpoint->IsInstalled();
303 BReference<Breakpoint> breakpointReference(breakpoint);
304 if (breakpoint->IsUnused())
305 fTeam->RemoveBreakpoint(breakpoint);
311 breakpoint->SetInstalled(false);
336 // remove obsolete user breakpoint instances
344 Breakpoint* breakpoint = instance->GetBreakpoint();
345 if (breakpoint == NULL || breakpoint->GetImage() != image)
349 breakpoint->RemoveUserBreakpoint(instance);
351 if (!breakpointsToUpdate.AddItem(breakpoint)) {
352 _UpdateBreakpointInstallation(breakpoint);
353 if (breakpoint->IsUnused())
354 fTeam->RemoveBreakpoint(breakpoint);
363 for (int32 i = 0; Breakpoint* breakpoint = breakpointsToUpdate.ItemAt(i);
365 _UpdateBreakpointInstallation(breakpoint);
369 for (int32 i = 0; Breakpoint* breakpoint = breakpointsToUpdate.ItemAt(i);
371 if (breakpoint->IsUnused())
372 fTeam->RemoveBreakpoint(breakpoint);
375 // add breakpoint instances for function instances in the image (if we have
403 // get the breakpoint address for the instance
431 // create the user breakpoint instance
444 // get/create the breakpoint for the address
446 Breakpoint* breakpoint = fTeam->BreakpointAtAddress(address);
447 if (breakpoint == NULL) {
448 breakpoint = new(std::nothrow) Breakpoint(image, address);
449 if (breakpoint == NULL || !fTeam->AddBreakpoint(breakpoint)) {
450 delete breakpoint;
455 breakpoint->AddUserBreakpoint(instance);
456 instance->SetBreakpoint(breakpoint);
460 // install the breakpoints for the new user breakpoint instances
464 Breakpoint* breakpoint = instance->GetBreakpoint();
465 if (breakpoint == NULL
466 || _UpdateBreakpointInstallation(breakpoint) != B_OK) {
471 if (breakpoint != NULL) {
472 breakpoint->AddUserBreakpoint(instance);
473 if (breakpoint->IsUnused())
474 fTeam->RemoveBreakpoint(breakpoint);
484 BreakpointManager::_UpdateBreakpointInstallation(Breakpoint* breakpoint)
486 bool shouldBeInstalled = breakpoint->ShouldBeInstalled();
489 "should be installed: %d, is installed: %d\n", breakpoint,
490 shouldBeInstalled, breakpoint->IsInstalled());
492 if (shouldBeInstalled == breakpoint->IsInstalled())
499 // allow setting the breakpoint so it's saved to settings
502 fDebuggerInterface->InstallBreakpoint(breakpoint->Address());
508 breakpoint->Address(), strerror(error));
510 breakpoint->SetInstalled(true);
513 fDebuggerInterface->UninstallBreakpoint(breakpoint->Address());
516 breakpoint->Address());
518 breakpoint->SetInstalled(false);