~/talk

Understanding Large and Unfamiliar Codebases

Talkat C++ on Sea 2025 · 2025-06-23..06-25· [c-and-cpp, career-development]
links:none on file
slides:none on file

Large legacy repo (examples: over 1,000,000 lines overall, OpenTTD ~300k C/C++ lines) gets explored by running and attaching debuggers, sampling profilers and generated docs to find real entry points, hotspots and data flows. Practical tactics include using grep to find mains and entry points, compiling with debug symbols and attaching GDB/LLDB, recording execution and using time-travel debugging with reverse step and watchpoints to locate who mutates a value (example: watchpoint on train profit), plus Perf/Valgrind/kcachegrind and Doxygen for visualization.

AI-written summary · about

  1. 0:00Understanding large codebases
  2. 3:56Challenges of large codebases
  3. 12:50Key categories for understanding code
  4. 13:10Open Transport Tycoon case study
  5. 16:43Finding entry points in code
  6. 20:38Debug symbols for exploration
  7. 22:25Debuggers for code flow
  8. 27:19Reverse debugging with time travel
  9. 35:50Coding journal for investigations
  10. 36:32Profiling to find hotspots
  11. 38:18Visualizing code flow
  12. 41:27Debugging third-party libraries
  13. 42:09Breaking down complexity
  14. 42:30Tools for visual management
  15. 44:59Documentation from source
  16. 47:25Software visualization patterns
  17. 48:47Human factors in code
  18. 51:56AI tools for exploration
  19. 56:52Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.