Debugging Embedded and Real-Time Systems