debug.cc (5543:3af77710f397) | debug.cc (5606:6da7a58b0bc8) |
---|---|
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// | 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// |
59class DebugBreakEvent : public Event | 59struct DebugBreakEvent : public Event |
60{ | 60{ |
61 public: 62 63 DebugBreakEvent(EventQueue *q, Tick _when); 64 | 61 DebugBreakEvent(); |
65 void process(); // process event 66 virtual const char *description() const; 67}; 68 69// 70// constructor: schedule at specified time 71// | 62 void process(); // process event 63 virtual const char *description() const; 64}; 65 66// 67// constructor: schedule at specified time 68// |
72DebugBreakEvent::DebugBreakEvent(EventQueue *q, Tick _when) 73 : Event(q, Debug_Break_Pri) | 69DebugBreakEvent::DebugBreakEvent() 70 : Event(Debug_Break_Pri) |
74{ 75 setFlags(AutoDelete); | 71{ 72 setFlags(AutoDelete); |
76 schedule(_when); | |
77} 78 79// 80// handle debug event: set debugger breakpoint on this function 81// 82void 83DebugBreakEvent::process() 84{ --- 9 unchanged lines hidden (view full) --- 94 95// 96// handy function to schedule DebugBreakEvent on main event queue 97// (callable from debugger) 98// 99void 100schedBreakCycle(Tick when) 101{ | 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{ |
102 new DebugBreakEvent(&mainEventQueue, when); | 98 mainEventQueue.schedule(new DebugBreakEvent, when); 99 warn("need to stop all queues"); |
103} 104 105void 106eventqDump() 107{ 108 mainEventQueue.dump(); | 100} 101 102void 103eventqDump() 104{ 105 mainEventQueue.dump(); |
106 warn("need to dump all queues"); |
|
109} 110 111 112int remote_gdb_base_port = 7000; 113 114int 115getRemoteGDBPort() 116{ 117 return remote_gdb_base_port; 118} 119 120// Set remote GDB base port. 0 means disable remote GDB. 121// Callable from python. 122void 123setRemoteGDBPort(int port) 124{ 125 remote_gdb_base_port = port; 126} 127 | 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 |