Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : sb@alkar.net                         2:5020/400     04 Apr 2000  11:09:05
 To : All
 Subject : dmalloc
 -------------------------------------------------------------------------------- 
 
   Кто-нибудь из присутствующих пользовал dmalloc? Эта такая либа,
   которая подменяет стандартные malloc(), free() и т.д., и следит за
   использованием памяти в программе.
 
   А вопрос собственно такой. dmalloc матерно ругается когда я в
   asprintf() использую вещественные числа. Т.е. вот такой код:
 
 #include <stdlib.h>
 #include <stdio.h>
 #include <dmalloc.h>
 
 int main() {
   char *query = NULL;
 
   asprintf(&query, "%f", 1.11111);
   free(query);
 
   dmalloc_shutdown();
   exit(0);
 }
 
   Вызывает у него вот такую реакцию (с сокращениями):
 
 954831164: 5: Dmalloc version '4.5.1' from 'http://dmalloc.com/'
 954831164: 5: flags = 0x14f41d83, logfile './log'
 .........................
 954831165: 5: dumping not-freed pointers changed since 0:
 954831165: 5:  not freed: '0x808e048|s1' (24 bytes) from 'ra=0x280cc652'
 954831165: 5:  total-size  count  source
 954831165: 5:          24      1  ra=0x280cc652
 954831165: 5:          24      1  Total of 1
 954831165: 5:  unknown memory: 1 pointer, 24 bytes
 
   Если по этому адресу устроить trap и потом посмотреть на корку, то
    видно, что память хавается где-то внутри asprintf().
   Hу и собственно вопрос(ы). Это соответствует действительности, т.е.
   asprintf() действительно жрет память, или это dmalloc глючит? И если это не
   глюк dmalloc'а, то как это можно побороть?
   Да, FreeBSD 3.2, dmalloc 4.5.1, gcc 2.95.1 
 --- ifmail v.2.15dev4
  * Origin: Alkar-Teleport News server (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 dmalloc   sb@alkar.net   04 Apr 2000 11:09:05 
Архивное /ru.unix.bsd/1329709775137.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional