LINUX KERNEL
LINUX KERNEL
LINUX KERNEL
DEBUG
DEBUG
DEBUG
CONFIGS
CONFIGS
CONFIGS
1. CONFIG_DEBUG_KERNEL: ENABLE KERNEL DEBUGGING
2. CONFIG_DEBUG_INFO: GENERATE ADDITIONAL DEBUG INFO
3. CONFIG_DEBUG_INFO_REDUCED: REDUCED DEBUGGING INFO
4. CONFIG_DEBUG_INFO_SPLIT: SPLIT DEBUG INFO INTO SEPARATE FILES
GENERAL DEBUGGING:
5. CONFIG_DEBUG_FS: ENABLE DEBUGFS FILESYSTEM
6. CONFIG_DEBUG_LL: LOW-LEVEL DEBUGGING SUPPORT
7.CONFIG_DEBUG_LL_INCLUDE: INCLUDE SPECIFIC LOW-LEVEL DEBUGGING
SUPPORT
8.CONFIG_EARLY_PRINTK: ENABLE EARLY PRINTK
9.CONFIG_EARLY_PRINTK_DBGP: EARLY PRINTK USING DEBUG PORT
10. CONFIG_EARLY_PRINTK_EFI: EARLY PRINTK USING EFI FACILITIES
11. CONFIG_EARLY_PRINTK_USB: EARLY PRINTK VIA USB
EARLY DEBUGGING:
12. CONFIG_DYNAMIC_DEBUG: ENABLE DYNAMIC DEBUGGING MESSAGES
DYNAMIC DEBUGGING:
13. CONFIG_TRACING: ENABLE KERNEL TRACING
14.CONFIG_FUNCTION_TRACER: FUNCTION TRACING SUPPORT
TRACING AND PROFILING:
13. CONFIG_DEBUG_SLAB: DEBUG MEMORY ALLOCATION WITH SLAB
14. CONFIG_DEBUG_STACK_USAGE: ENABLE STACK USAGE DEBUGGING
15. CONFIG_DEBUG_BUGVERBOSE: VERBOSE BUG() REPORTING
16.CONFIG_DEBUG_LOCK_ALLOC: LOCK DEBUGGING: DETECT DEADLOCKS
17. CONFIG_PROVE_LOCKING: LOCK VALIDATOR (PROVING LOCKING
CORRECTNESS)
18. CONFIG_DEBUG_LOCKDEP: LOCK DEPENDENCY VALIDATOR
19. CONFIG_DEBUG_ATOMIC_SLEEP: VERBOSE ATOMIC SLEEP DEBUGGING
20.. CONFIG_DEBUG_ATOMIC_SLEEP_SKIP: SKIP ATOMIC SLEEP DEBUGGING
21. CONFIG_DEBUG_LOCKING_API_SELFTESTS: LOCKING API SELFTESTS
MEMORY AND OBJECT DEBUGGING:
22. CONFIG_DEBUG_LOCKUP_DETECTOR: DETECT SOFT LOCKUPS
23. CONFIG_DETECT_HUNG_TASK: DETECT HUNG TASKS
24. CONFIG_DEBUG_KOBJECT: DEBUGGING ASSERTIONS FOR KERNEL OBJECT
MANAGEMENT
25. CONFIG_DEBUG_RT_MUTEXES: DEBUGGING FOR REAL-TIME MUTEXES
26. CONFIG_DEBUG_SPINLOCK: SPINLOCK AND RW-LOCK DEBUGGING
27. CONFIG_DEBUG_MUTEXES: MUTEX DEBUGGING
28. CONFIG_DEBUG_WW_MUTEX_SLOWPATH: SLOWPATH CHECKS FOR THE
WW MUTEX
29. CONFIG_DEBUG_PREEMPT: PREEMPTION DEBUGGING
30. CONFIG_DEBUG_RT_MUTEXES: REAL-TIME MUTEX DEBUGGING
MEMORY AND OBJECT DEBUGGING (CONTINUE)
31. CONFIG_DEBUG_RT_MUTEX_LOCKS: LOCKDEP RULES FOR RT MUTEXES
32. CONFIG_DEBUG_RT_MUTEXES_TEST: RT MUTEX SELF-TESTS
33. CONFIG_DEBUG_MUTEX_TESTER: MUTEX TESTER SUPPORT
34.CONFIG_DEBUG_SPINLOCK: SPINLOCK AND RW-LOCK DEBUGGING
35. CONFIG_DEBUG_MUTEXES: MUTEX DEBUGGING
36. CONFIG_DEBUG_LOCK_ALLOC: LOCK DEBUGGING: DETECT DEADLOCKS
MEMORY AND OBJECT DEBUGGING (CONTINUE)
37. CONFIG_STACKTRACE: STACK BACKTRACE SUPPORT
38. CONFIG_STACKTRACE_SUPPORT: STACK BACKTRACE SUPPORT
39. CONFIG_DEBUG_STACKOVERFLOW: DEBUG STACK OVERFLOW DETECTION
40. CONFIG_DEBUG_VIRTUAL: DEBUGGING SUPPORT FOR VIRTUAL MEMORY
41. CONFIG_DEBUG_MEMORY_INIT: DEBUG MEMORY ALLOCATION DURING
INITIALIZATION
42. CONFIG_DEBUG_MEMORY_INIT_CLEAR: CLEAR UNINITIALIZED MEMORY
DURING BOOT
43. CONFIG_DEBUG_PAGEALLOC: DEBUG PAGE ALLOCATOR
44. CONFIG_DEBUG_OBJECTS: DEBUG MEMORY OBJECTS
45. CONFIG_DEBUG_OBJECTS_FREE: TRACK FREED MEMORY OBJECTS
46. CONFIG_DEBUG_OBJECTS_TIMERS: DEBUG TIMER OBJECTS
47. CONFIG_DEBUG_OBJECTS_WORK: DEBUG WORKQUEUE OBJECTS
48. CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER: DEBUG PERCPU COUNTER
OBJECTS
STACK AND MEMORY DEBUGGING:
44. CONFIG_DEBUG_OBJECTS: DEBUG MEMORY OBJECTS
45. CONFIG_DEBUG_OBJECTS_FREE: TRACK FREED MEMORY OBJECTS
46. CONFIG_DEBUG_OBJECTS_TIMERS: DEBUG TIMER OBJECTS
47. CONFIG_DEBUG_OBJECTS_WORK: DEBUG WORKQUEUE OBJECTS
48. CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER: DEBUG PERCPU COUNTER
OBJECTS
STACK AND MEMORY DEBUGGING: (CONTINUE)
MEET THE KERNEL EXPERTS AT SILICON SIGNALS TO
KNOW MORE
INFO@SILICONSIGNALS.IO
WWW.SILICONSIGNALS.IO

Linux kernel debugging configuration ppt

  • 1.
    LINUX KERNEL LINUX KERNEL LINUXKERNEL DEBUG DEBUG DEBUG CONFIGS CONFIGS CONFIGS
  • 2.
    1. CONFIG_DEBUG_KERNEL: ENABLEKERNEL DEBUGGING 2. CONFIG_DEBUG_INFO: GENERATE ADDITIONAL DEBUG INFO 3. CONFIG_DEBUG_INFO_REDUCED: REDUCED DEBUGGING INFO 4. CONFIG_DEBUG_INFO_SPLIT: SPLIT DEBUG INFO INTO SEPARATE FILES GENERAL DEBUGGING:
  • 3.
    5. CONFIG_DEBUG_FS: ENABLEDEBUGFS FILESYSTEM 6. CONFIG_DEBUG_LL: LOW-LEVEL DEBUGGING SUPPORT 7.CONFIG_DEBUG_LL_INCLUDE: INCLUDE SPECIFIC LOW-LEVEL DEBUGGING SUPPORT 8.CONFIG_EARLY_PRINTK: ENABLE EARLY PRINTK 9.CONFIG_EARLY_PRINTK_DBGP: EARLY PRINTK USING DEBUG PORT 10. CONFIG_EARLY_PRINTK_EFI: EARLY PRINTK USING EFI FACILITIES 11. CONFIG_EARLY_PRINTK_USB: EARLY PRINTK VIA USB EARLY DEBUGGING:
  • 4.
    12. CONFIG_DYNAMIC_DEBUG: ENABLEDYNAMIC DEBUGGING MESSAGES DYNAMIC DEBUGGING: 13. CONFIG_TRACING: ENABLE KERNEL TRACING 14.CONFIG_FUNCTION_TRACER: FUNCTION TRACING SUPPORT TRACING AND PROFILING:
  • 5.
    13. CONFIG_DEBUG_SLAB: DEBUGMEMORY ALLOCATION WITH SLAB 14. CONFIG_DEBUG_STACK_USAGE: ENABLE STACK USAGE DEBUGGING 15. CONFIG_DEBUG_BUGVERBOSE: VERBOSE BUG() REPORTING 16.CONFIG_DEBUG_LOCK_ALLOC: LOCK DEBUGGING: DETECT DEADLOCKS 17. CONFIG_PROVE_LOCKING: LOCK VALIDATOR (PROVING LOCKING CORRECTNESS) 18. CONFIG_DEBUG_LOCKDEP: LOCK DEPENDENCY VALIDATOR 19. CONFIG_DEBUG_ATOMIC_SLEEP: VERBOSE ATOMIC SLEEP DEBUGGING 20.. CONFIG_DEBUG_ATOMIC_SLEEP_SKIP: SKIP ATOMIC SLEEP DEBUGGING 21. CONFIG_DEBUG_LOCKING_API_SELFTESTS: LOCKING API SELFTESTS MEMORY AND OBJECT DEBUGGING:
  • 6.
    22. CONFIG_DEBUG_LOCKUP_DETECTOR: DETECTSOFT LOCKUPS 23. CONFIG_DETECT_HUNG_TASK: DETECT HUNG TASKS 24. CONFIG_DEBUG_KOBJECT: DEBUGGING ASSERTIONS FOR KERNEL OBJECT MANAGEMENT 25. CONFIG_DEBUG_RT_MUTEXES: DEBUGGING FOR REAL-TIME MUTEXES 26. CONFIG_DEBUG_SPINLOCK: SPINLOCK AND RW-LOCK DEBUGGING 27. CONFIG_DEBUG_MUTEXES: MUTEX DEBUGGING 28. CONFIG_DEBUG_WW_MUTEX_SLOWPATH: SLOWPATH CHECKS FOR THE WW MUTEX 29. CONFIG_DEBUG_PREEMPT: PREEMPTION DEBUGGING 30. CONFIG_DEBUG_RT_MUTEXES: REAL-TIME MUTEX DEBUGGING MEMORY AND OBJECT DEBUGGING (CONTINUE)
  • 7.
    31. CONFIG_DEBUG_RT_MUTEX_LOCKS: LOCKDEPRULES FOR RT MUTEXES 32. CONFIG_DEBUG_RT_MUTEXES_TEST: RT MUTEX SELF-TESTS 33. CONFIG_DEBUG_MUTEX_TESTER: MUTEX TESTER SUPPORT 34.CONFIG_DEBUG_SPINLOCK: SPINLOCK AND RW-LOCK DEBUGGING 35. CONFIG_DEBUG_MUTEXES: MUTEX DEBUGGING 36. CONFIG_DEBUG_LOCK_ALLOC: LOCK DEBUGGING: DETECT DEADLOCKS MEMORY AND OBJECT DEBUGGING (CONTINUE)
  • 8.
    37. CONFIG_STACKTRACE: STACKBACKTRACE SUPPORT 38. CONFIG_STACKTRACE_SUPPORT: STACK BACKTRACE SUPPORT 39. CONFIG_DEBUG_STACKOVERFLOW: DEBUG STACK OVERFLOW DETECTION 40. CONFIG_DEBUG_VIRTUAL: DEBUGGING SUPPORT FOR VIRTUAL MEMORY 41. CONFIG_DEBUG_MEMORY_INIT: DEBUG MEMORY ALLOCATION DURING INITIALIZATION 42. CONFIG_DEBUG_MEMORY_INIT_CLEAR: CLEAR UNINITIALIZED MEMORY DURING BOOT 43. CONFIG_DEBUG_PAGEALLOC: DEBUG PAGE ALLOCATOR 44. CONFIG_DEBUG_OBJECTS: DEBUG MEMORY OBJECTS 45. CONFIG_DEBUG_OBJECTS_FREE: TRACK FREED MEMORY OBJECTS 46. CONFIG_DEBUG_OBJECTS_TIMERS: DEBUG TIMER OBJECTS 47. CONFIG_DEBUG_OBJECTS_WORK: DEBUG WORKQUEUE OBJECTS 48. CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER: DEBUG PERCPU COUNTER OBJECTS STACK AND MEMORY DEBUGGING:
  • 9.
    44. CONFIG_DEBUG_OBJECTS: DEBUGMEMORY OBJECTS 45. CONFIG_DEBUG_OBJECTS_FREE: TRACK FREED MEMORY OBJECTS 46. CONFIG_DEBUG_OBJECTS_TIMERS: DEBUG TIMER OBJECTS 47. CONFIG_DEBUG_OBJECTS_WORK: DEBUG WORKQUEUE OBJECTS 48. CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER: DEBUG PERCPU COUNTER OBJECTS STACK AND MEMORY DEBUGGING: (CONTINUE)
  • 10.
    MEET THE KERNELEXPERTS AT SILICON SIGNALS TO KNOW MORE INFO@SILICONSIGNALS.IO WWW.SILICONSIGNALS.IO