void AddVersionBps(void) { // // Put breakpoints on GetVersion and GetVersionEx. // if (AddBp(&g_GetVersionBp, "kernel32!GetVersion") != S_OK || AddBp(&g_GetVersionExBp, "kernel32!GetVersionExA") != S_OK || AddBp(&g_GetVersionExBp, "kernel32!GetVersionExW") != S_OK) { Exit(1, "Unable to set version breakpoints\n"); } // // Create the return breakpoints but leave them disabled // until they're needed. // if (g_Control->AddBreakpoint(DEBUG_BREAKPOINT_CODE, DEBUG_ANY_ID, &g_GetVersionRetBp.Bp) != S_OK || g_GetVersionRetBp.Bp->GetId(&g_GetVersionRetBp.Id) != S_OK || g_Control->AddBreakpoint(DEBUG_BREAKPOINT_CODE, DEBUG_ANY_ID, &g_GetVersionExRetBp.Bp) != S_OK || g_GetVersionExRetBp.Bp->GetId(&g_GetVersionExRetBp.Id) != S_OK) { Exit(1, "Unable to set version breakpoints\n"); } }
void Pdb::SetBreakpoints() { RemoveBp(); for(int i = 0; i < breakpoint.GetCount(); i++) AddBp(breakpoint[i]); }