Какими инструментами вы пользуетесь при разработке на C++?
============================================================

 Друзья. Я не профиссиональный программист, становится таким не планирую,но процесс этот затягивает, и хочется подходить к собственным проектам как настоящий программист, а не "наколеночник".   
  

Постоянно читаю хабр и во многих статьях люди для разбора и отладки своего кода используют разные инструменты.   

Профилировщики памяти, отладчики и многое другое.   
  

Но почитать о том какие инструменты используют в продакшене я так и не нашел где, видимо потому что вопрос из разряда( а под какую задачу инструмент?).   

А под любую.   
  

Мой процесс разработки начинается с написания кода, небольшой рефакторинг, компиляция и если что-то не работает- отладчик.   

Пишу под линукс кстати.   
  

Просьба собственно простая.   

Вы как разработчик на С++(вопрос именно для них)(желательно под linux), не могли бы накидать краткий списочек, какие утилиты и инструменты вы используете при написании и отладки кода (по типу статические анализаторы и всего такого).   
  

Вобщем то чем вы пользуетесь каждый день когда код отлаживаете.Ну и краткое пояснение для чего вы их используете.   
  

Хочется просто почитать, кто, что и для чего использует и учится правильной практике. 

 1) IDE (QtCretor) -- без комментариев  

2) gcc -- компилятор, gdb -- отладчик; иногда clang/lldb  

3) git и tig (текстовый интерфейс для гита)  

4) valgrind -- в основном профилирование  

5) meld -- дифы  

6) vim -- когда надо что-то мелкое поредактировать на сервере  

7) браузер -- без комметариев  

8) Ну разные консольные утилитки по необходимости, grep, sed, nm...  

9) cppcheck -- статический анализ  

10) Иногда кланговые санитайзеры 

1. мозг
2. gdb
3. valgrind

  

Это касается любого языка. 

 Eclipse C++ IDE + GCC 

 1. Морфологический и грамматический словарь русского языка.  

2. Писать код можно и в блокноте. Используй для этого дела что душе угодно. Можно и IDE с интерфейсом для отладки  

3. Знать пару методов для отладки и их применение. После их освоения разберешься с отладкой любого кода с использованием любого отладчика.  

4. Для ускорения процесса поиска информации освой "регулярные выражения".  

5. Познакомься с системами контроля версий. Начни использовать любую из них для своих проектов.  

6. Если ты пишешь под Linux, то освой концепции и базовые понятия ОС, часто используемые утилиты, особенно те, что работаю с текстом. На основе опыта из предыдущих пунктов это даст огромной прирост к поиску информации по системе в целом.   

7. Для плюсов освоить надо базовые основы. После этого можешь углубляться в различные дебри всего языка.