Source code Debugging Visual result |———————-| | shared_ptr sPtr1 | |———————-| |Pointer to the Object |—|——-> Object | | |
Continue readingCategory: Debugging & Memory
Layout of std::vector (libstdc++)
Source code Analysis Layout |——————————–| | vector vec | | 1 | 2 | 3 | 4 | 5 |
Continue readingUnwind the stack even if GDB can’t? (ARM)
Reason Since GCC 5.0 for ARM the default used ABI is AAPCS (Procedure Call Standard for the Arm 64-bit Architecture).
Continue readingAnalysing more complex data types (GDB)
Code Analysis Info: The used version of Python Pretty-Printer (used by GDB) couldn’t handle ‘print pastries’.
Continue readingProblems happening with multithreading (C++)
The two most common problems that are happing when dealing with multithreading are the deadlock and the race condition. Follow
Continue readingCommon reasons for program crashes (C++)
1. Illegal memory access 2. Allocating to much memory 3. Unsolved error handling
Continue readingRemote debugging (gdbserver)
Remote debugging creates the possibility to debug applications on a remote device. Setup: Host system (gdb) Target system (gdbserver) Precondition
Continue readingMemory Management (Basics)
Process Each process is running on its own virtual address space. The MMU does the necessary translation from/to the physical
Continue readingCoredump analysing with GDB
Load coredump with GDB Analysis of threads Analysis of stacktrace Analysis of functions/variables Details to typical constructs Analysis of memory
Continue readingMemory Management (C++)
1. Automatic allocation – Stack Objects created on the stack, will be cleaned up automatically after they have run out
Continue reading