thachmpham.github.io

A Software Engineer’s Notebook
Computer Networking - Distributed Systems - Software Debugging

Software Debugging

GDB

Examine Data
Variables
Memory
Pretty Printers
Examine Execution
Breakpoints
Catchpoints
Best Practice
Systemd Program
OpenSAF Program
Multiple Threads

Linux

Kernel
Build & Run
Debug Kernel with GDB
User Space to Kernel Space
Binary Analysis
Examine ELF File
Virtual Address & EFL Offset
C to Assembly
LD_PRELOAD
Reproduce
Socket EAGAIN

Networking

Protocols
ARP (arping)
IP Route (iproute2)
DHCP (kea-dhcp4)
Virtual IP (keepalived)
PXE (dnsmasq)
LDAP (openldap)
DRBD (drbd-utils)
TIPC (tipcutils)
Virtual Interfaces
Virtual Ethernet (ip veth)
Virtual Bridge (ip bridge)
Dummy Interface (ip dummy)
Bond Interface (ip bond)

Distributed Systems

OpenSAF

Setup
Build & Install
Setup Cluster 1-SC
Setup Cluster 2-SC
Service
IMM
SMF
LOG
Development
Convert Program to High Availability
Build High Availability Program
Healthcheck
Error Detection & Recovery

Cheatsheets

gdb
bashdb
tcpdump
pcap-filter
grep
perl
awk
plantuml
graphviz
kvm
docker
disk
systemd
firewall