Для нормальной работы AndroidSDK (в частности программы emulator) необходимы следующие пакеты: lib32-alsa-lib lib32-openal lib32-libstdc++5 lib32-libxv lib32-ncurses lib32-sdl lib32-zlib
ставятся они из репозитория multiib.
Страницы
вторник, 24 апреля 2012 г.
воскресенье, 1 апреля 2012 г.
Visual Studio, C++ и утечка памяти
Если уж случилось такое горе, то вот краткая инструкция:
1) До подключения первого хедера пишем:
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Programm.cpp(1713) : {29714} normal block at 0x0000000003F06460, 48292 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1) До подключения первого хедера пишем:
#define _CRTDBG_MAP_ALLOC
#include
#include
#ifndef DBG_NEW
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
#define new DBG_NEW
#endif
Тут мы подключаем необходимое, а именно замену для стандартного malloc и компании, которые будут вести учет выделений и освобождений памяти.
2) Первой инструкцией программы ставим:
_CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF);
Это задает параметры работы профилировщика памяти. параметров там куча, поэтому читаем их сами.
3) запускаем. После закрытия программы в окне Visual Studio "Output" будет выведено примерно следующее:
Programm.cpp(2532) : {29721} normal block at 0x00000000040812E0, 193168 bytes long.Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Programm.cpp(1713) : {29714} normal block at 0x0000000003F06460, 48292 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Это имя файла, строка, адрес и прочее. при двойном клике по строке студия сама переключится на это место.
Подписаться на:
Сообщения (Atom)