как вы боретесь с утечками памяти?
От: ksd Россия  
Дата: 13.12.17 16:01
Оценка:
коллеги, кто хочет и может, поделитесь, пожалуйста, вашими методами борьбы с утечками памяти и работой с кривыми указателями в ваших проектах.
например, выделяете память строго через ваши аллоки, перегружаете new или что то еще более интересное?
что имею в виду под борьбой с кривыми указателями, например:
void foo(HANDLE h) {
   std::vector<char> v;
   DWORD size = GetFileSize(h, 0);
   v.resize(size);
   ReadFile(h, &v[0], ... // исключение, если size == 0

т.е. такие случаи, когда небезопасно извлекается указатель из чего-то, как в примере.
может, тоже есть какая то система, например, помечать все такие места чем-то, как то так:
#define GET_PTR(x) x
void foo(HANDLE h) {
   std::vector<char> v;
   ...
   ReadFile(h, GET_PTR(&v[0]), ...

-- когда что то непонятное падает, легко поиском по исходникам найти все такие места затем, что когда проект разросся, перелопачивать все исходники в поисках такого проблематично.
спасибо за любые мнения и рекомендации!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.