Вы желаете контролировать производительность, или просто видеть, какие запросы выполняются? Если последний, можно настроить MySQL для входа всех запросов, он дан. На поле RedHat Linux Вы могли бы добавить
log = /var/lib/mysql/query.log
к [mysqld] разделу /etc/my.cnf
прежде, чем перезапустить MySQL.
Помнят, что в занятом сценарии базы данных, те журналы могут стать довольно большими.
Вы уверены, что утечка кода использует процедуры распределения отладки CRT? Для этого необходимо использовать malloc ()
или new
(в отличие от LocalAlloc
, GlobalAlloc
, некоторого настраиваемого распределителя блоков и т. Д.) И что _DEBUG
(я думаю) должен быть определен, когда были включены заголовки CRT.
Чтобы получить исходные строки для утечек, вам нужно будет определить DEBUG_NEW
везде, где происходят выделения . Это связано с тем, что для их отслеживания каждое выделение необходимо заменить вызовом, который включает __ FILE __
и __ LINE __
. Стандартное определение от мастера выглядит примерно так:
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
#define new DEBUG_NEW
#endif
Это не обрабатывает malloc
, для этого, вероятно, есть похожее заклинание,