Linux
Debugging Linux applications
LDD
Linux LDD is just a wrapper for:
LD_TRACE_LOADED_OBJECTS=1 <cmd>
Core dumps
To check core dump handler:
cat /proc/sys/kernel/core_pattern |/usr/sbin/coredump-handler %h_%t_%p.core
Valgrind
valgrind --trace-children=yes --leak-check=full --show-leak-kinds=all <binary>
Disable Nvidia drivers and enable Intel embedded HD graphics driver
sudo apt-get purge nvidia-* sudo apt-get install --reinstall xserver-xorg-video-intel libgl1-mesa-glx libgl1-mesa-dri mesa-utils xserver-xorg-core sudo dpkg-reconfigure xserver-xorg sudo update-alternatives --remove gl_conf /usr/lib/nvidia-current/ld.so.conf reboot
Switch default compiler
(cc --version;c++ --version;gcc --version;g++ --version) | grep Debian cc (Debian 6.1.1-11) 6.1.1 20160802 c++ (Debian 6.1.1-11) 6.1.1 20160802 gcc (Debian 6.1.1-11) 6.1.1 20160802 g++ (Debian 6.1.1-11) 6.1.1 20160802 sudo apt-get install gcc-4.9 g++-4.9 gcc-4.9 --version gcc-4.9 (Debian 4.9.3-14) 4.9.3 g++-4.9 --version g++-4.9 (Debian 4.9.3-14) 4.9.3 gcc-5 --version gcc-5 (Debian 5.4.1-1) 5.4.1 20160803 g++-5 --version g++-5 (Debian 5.4.1-1) 5.4.1 20160803 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30 sudo update-alternatives --set cc /usr/bin/gcc sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30 sudo update-alternatives --set c++ /usr/bin/g++ (cc --version;c++ --version;gcc --version;g++ --version) | grep Debian cc (Debian 4.9.3-14) 4.9.3 c++ (Debian 4.9.3-14) 4.9.3 gcc (Debian 4.9.3-14) 4.9.3 g++ (Debian 4.9.3-14) 4.9.3
To go back:
sudo update-alternatives --config gcc sudo update-alternatives --config g++