Skip to content

Max's Blog

  • Home
  • About
Max's Blog

Category: Debugging & Memory

March 19, 2024 max-sperling

Layout of std:set (libstdc++)

Source code Analysis $ g++ –version g++ (Ubuntu 13.2.0-4ubuntu3) 13.2.0 $ g++ main.cpp -g $ gdb a.out (gdb) b 6

Continue reading
March 7, 2024 max-sperling

Layout of std::unordered_set (libstdc++)

Layout The meta element on the stack consumes 7 words (56 Byte on x64, 28 Byte on x86). Each node

Continue reading
March 7, 2024 max-sperling

Layout of std:deque (libstdc++)

Layout The meta element on the stack consumes 10 words (80 Byte on x64, 40 Byte on x86). Each chunk

Continue reading
October 13, 2022 max-sperling

Adding dependencies to coredump (GDB)

Let’s assume you have a coredump to analyze, and the shared libs are at another location. Command Description info sharedlibrary

Continue reading
September 10, 2021 max-sperling

Analyse reproducable stability issues

The following list contains a few ways to find the root cause for a stability issue. Rebuild with debug symbols

Continue reading
September 10, 2021 max-sperling

Easy coredump example (Apport, GDB)

Setup apport Source code Coredump analysis Issue: player hasn’t been initialized before calling play().

Continue reading
September 8, 2021 max-sperling

vtable – a way to realise polymorphism (C++)

Currently most C++ compilers use vtables to realise polymorphism. The object (obj @ 0x614c20) contains a pointer to the vtable

Continue reading
September 3, 2021 max-sperling

Custom allocator to track std::vector

Source code Debugging Result As soon as the std::vector runs out of memory its default allocator (std::allocator<T>) allocates a new

Continue reading
December 26, 2020 max-sperling

Garbage collection (Basics)

A garbage collector is a hidden background tool that cleans unused application memory automatically. It’s necessary for languages which aren’t

Continue reading
December 11, 2020 max-sperling

Layout of std::shared_ptr (libstdc++)

Source code Debugging Visual result |———————-| | shared_ptr sPtr1 | |———————-| |Pointer to the Object |—|——-> Object | | |

Continue reading

Posts navigation

«Previous Posts 1 2 3 Next Posts»

Categories

  • Other (19)
    • Games (13)
    • Nutrition (4)
    • Traveling (2)
  • Science (17)
    • Chemistry (3)
    • Linguistics (2)
    • Math (10)
    • Physics (2)
  • Sport (73)
    • Climbing (5)
    • Diving (20)
    • Fitness (8)
    • Martial arts (34)
      • Ground fighting (9)
      • Mixed martial arts (4)
      • Stand-up fighting (12)
    • Running (1)
    • Surfing (2)
    • Swimming (1)
    • Volleyball (2)
  • Technology (288)
    • Computer (258)
      • Architecture & Design (15)
      • Artificial intelligence (3)
      • Audio & Video (11)
      • Building & Reversing (15)
        • CMake (2)
      • Computational complexity (3)
      • Computer architecture (4)
      • Debugging & Memory (29)
      • Development (72)
        • CI/CD (1)
        • Programming (61)
          • Concurrency (12)
          • Data structures (13)
          • Pointers & References (7)
        • Scripting (4)
        • Testing (6)
      • Development process (5)
      • Hacking & Security (17)
      • Hardware & Protocols (8)
      • Networking (11)
      • Operating system (21)
        • Linux (12)
        • Windows (8)
      • Regular expression (2)
      • Tool configuration (5)
      • Version control (22)
      • Virtualization (7)
      • Web (29)
    • Electrics (9)
    • Mechanics (15)
    • Medicine (2)
    • Photography (4)
WordPress Theme: Wellington by ThemeZee.