उपलब्ध सुविधाओं के आधार पर एम्बेडेड डीबगिंग विभिन्न स्तरों पर की जा सकती है। सरलतम से सर्वाधिक परिष्कृत तक, मोटे तौर पर उन्हें निम्नलिखित क्षेत्रों में वर्गीकृत किया जा सकता है:

जब तक बाहरी डीबगिंग को प्रतिबंधित न किया जाये, तब तक प्रोग्रामर विशिष्ट रूप से सॉफ्टवेयर को उपकरणों द्वारा लोड कर सकता है और चला सकता है, प्रोसेसर में चल रहे कोड को देख सकता है और कार्य को शुरू या बंद कर सकता है। कोड को असेम्बली कोड या स्रोत-कोड के रूप में देखा जा सकता है।

चूंकि एक एम्बेडेड सिस्टम अक्सर विभिन्न प्रकार के तत्वों से मिलकर बना होता है, अत: डीबगिंग रणनीति भी अलग-अलग हो सकती है। उदहारण के लिए, किसी सॉफ्टवेयर- (और माइक्रोप्रोसेसर-) केन्द्रित एम्बेडेड सिस्टम की डीबगिंग किसी ऐसे एम्बेडेड सिस्टम की डीबगिंग से भिन्न होती है, जहां अधिकांश प्रोसेसिंग परिधीय उपकरणों (DSP, FPGA, को-प्रोसेसर) द्वारा की जाती है।
एक से अधिक एकल प्रोसेसर कोर का प्रयोग करने वाले एम्बेडेड सिस्टम्स की संख्या लगातार बढ़ती जा रही है। सॉफ्टवेयर क्रियान्वयन का उचित सिन्क्रोनाइज़ेशन करना मल्टी-कोर विकास के साथ एक सामान्य समस्या है। ऎसी स्थिति में, एम्बेडेड सिस्टम डिजाइन को प्रोसेसर कोर के बीच बसों पर डाटा के यातायात की जांच करने की आवश्यकता हो सकती है, जिसके लिए सिग्नल/बस स्तर पर, उदा. एक लॉजिक एनालाइज़र के साथ, बहुत निम्न-स्तर की डीबगिंग की आवश्यकता होती है।

बने बनाए कम्प्यूटर बोर्ड्स
डीबगिंग
माइक्रोकर्नल तथा एक्सोकर्नल
अभिलक्षण