Skip to content

Max's Blog

  • Home
  • About
Max's Blog

Category: Debugging & Memory

June 13, 2025 max-sperling

Show frames in stack (GDB)

Scenario Application code Print frame script Analysis GDB session Frame 0 0x7fffffffe240: 0x0000555555554040 0x0000000300000008 0x7fffffffe250: 0x0000000000000000 0x0000000b00000000 0x7fffffffe260: 0x00007fffffffe280 0x000055555555518e

Continue reading
June 11, 2025 max-sperling

Add prefix for shared libs location (GDB)

GDB is looking for the shared libs at specific paths. It’s possible to add a prefix to those paths. Example

Continue reading
May 26, 2025 max-sperling

Conditional breakpoints (C++)

Showcase Debugging $ g++ -g main.cpp $ gdb a.out (gdb) b main.cpp:5 if i == 5 Breakpoint 1 at 0xa24:

Continue reading
January 22, 2025 max-sperling

FlameGraph (Docker)

Setup Get FlameGraph repo % git clone https://github.com/brendangregg/FlameGraph fg Create Docker image Follow the instructions here: C++ develop container (Docker)

Continue reading
December 17, 2024 max-sperling

Pretty printer – Own type

Example code Without pretty printer (gdb) b 29 (gdb) r Breakpoint 1, main () at main.cpp:29 29 return 0; (gdb)

Continue reading
December 16, 2024 max-sperling

Stack unwinding

Mechanism 1. Frame pointers … the old default way Frame pointers are enabled by default. Strong optimization (“-O2”, “-O3”) will

Continue reading
March 27, 2024 max-sperling

Layout of std::string (libstdc++)

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

Continue reading
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

Posts navigation

1 2 3 Next Posts»

Categories

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