1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 42 unchanged lines hidden (view full) --- 51 cprintf("debug_break suppressed, compiled with NDEBUG\n"); 52#endif 53} 54 55// 56// Debug event: place a breakpoint on the process function and 57// schedule the event to break at a particular cycle 58// |
59struct DebugBreakEvent : public Event |
60{ |
61 DebugBreakEvent(); |
62 void process(); // process event 63 virtual const char *description() const; 64}; 65 66// 67// constructor: schedule at specified time 68// |
69DebugBreakEvent::DebugBreakEvent() 70 : Event(Debug_Break_Pri) |
71{ 72 setFlags(AutoDelete); |
73} 74 75// 76// handle debug event: set debugger breakpoint on this function 77// 78void 79DebugBreakEvent::process() 80{ --- 9 unchanged lines hidden (view full) --- 90 91// 92// handy function to schedule DebugBreakEvent on main event queue 93// (callable from debugger) 94// 95void 96schedBreakCycle(Tick when) 97{ |
98 mainEventQueue.schedule(new DebugBreakEvent, when); 99 warn("need to stop all queues"); |
100} 101 102void 103eventqDump() 104{ 105 mainEventQueue.dump(); |
106 warn("need to dump all queues"); |
107} 108 109 110int remote_gdb_base_port = 7000; 111 112int 113getRemoteGDBPort() 114{ 115 return remote_gdb_base_port; 116} 117 118// Set remote GDB base port. 0 means disable remote GDB. 119// Callable from python. 120void 121setRemoteGDBPort(int port) 122{ 123 remote_gdb_base_port = port; 124} 125 |