The following topics give an introduction to debugging embedded systems.
About debugging hypervisors
About debugging bare-metal symmetric multiprocessing systems
About debugging multi-threaded applications
About debugging shared libraries
About debugging a Linux kernel
About debugging Linux kernel modules
About debugging TrustZone enabled targets.