DBGMEM

Software screenshot:
DBGMEM
Podrobnosti Software:
Verze: 1.9.2
Datum uploadu: 3 Jun 15
Vývojka: Moser Michael
Licence: Volný
Popularita: 21

Rating: nan/5 (Total Votes: 0)

V současné době funguje pouze pro Linux. DBGMEM je uvolněn za podmínek GNU Lesser General Public License
Nástroj vám pomůže najít problémy, jako je
& Nbsp; 1. úniky paměti
& Nbsp; 2. haldy poškození paměti
& Nbsp; 3. Zneužití, nezákonné argument vybraným standardních funkcí knihoven.
& Nbsp; 4. stack korupci
& Nbsp; 5. Využití uvolněné nebo un-inicializována paměti haldy.
& Nbsp; 6. Umožňuje rozšířit nástroj, zkontrolujte argumenty dodatečnými API
Nástroj má přednost funkce přidělování glibc paměti, paměti a manipulaci s řetězci funkce, aby se přidali na jeho vlastnosti.
DBGMEM nevyžaduje žádné změny ve vašem programu, i když možná budete chtít změnit svůj program tak, aby mohli používat některé pokročilé funkce.
DBGMEM je open source paměť debugger pro C a C ++ programů a běží pod operačním systémem Linux, a je uvolněn pod GNU Lesser General Public License. DBGMEM přidává ladění kontroly k částem glibc standardní knihovny; to je implementována jako sdílené knihovny, které jsou načteny do adresního prostoru ladit procesu.
Nástroje
DBGMEM má několik paměti ladicí nástroje, každý může být vložen do ladit programu; Jednoduchý nástroj sleduje všech přidělených bloků paměti, a přidává informace o knize trvanlivost, například zásobníku v době, kdy byl blok přiděleno, do záhlaví arény, která předchází přidělené paměti bloku; to také přidává strážní slovo před a po uplynutí nastaveného bloku; Jednoduchý nástroj je nejvhodnější pro detekci problémů nevracení paměti; jako hlavička aréna může dostat poškozen v programu, který je právě laděn. Kontrola se uchovává veškeré účetnictví informace z hromádky v anonymní paměti mapované souboru; toto dělá nástroj více robustní, aby vydržely paměti přepsání chyby. Nástroj Kontrola také přidává schopnost rychle vyhledávat informace o jakémkoli bloku haldy pro ukazatel hodnoty obsažené v tomto bloku haldy; nástroj kontroly přidává ověření parametrů, které mají společného řetězce a manipulačních paměťové funkce, a kontrol pro případné stack rozbíjení těmito funkcemi.
Režim provozu
Můžete spustit většinu programů s debugger jak je; nástroj nevyžaduje ladit program, který se spojeny s některými zvláštními knihovny; Nástroj je sdílená knihovna, která je načten do adresového prostoru procesu, který je kontrolována pomocí techniky DLL injekce. LD_PRELOAD rysem Dynamic linkeru se používá k načtení nástrojů sdílené knihovny jako první, než jakýkoli jiný knihovny je načten; alokace paměti a funkce manipulace řetězec jsou zachyceny a nejprve zavolal z knihovny nástrojů; to umožňuje nástroj přidat své kontroly. Při běhu na odladěným procesu surový zpráva je písemné, který se dále zpracovává po ukončení ladit procesu; rozšířené zprávě dodává, symbolické názvy funkcí na stack stopy obsažené v surové zprávě. Gdb debugger se používá k otočit číselné adresy do symbolických adres při dalším zpracování surového zprávy

je k dispozici :.

  • nevracení paměti ; To platí jak pro nástroje kontroly a jednoduchých nástrojů. Nástroj sleduje každý přidělené haldy blok spolu s trasování zásobníku přijata v době, kdy byla přidělena blok; Navíc celé číslo tag je veden s každou přidělení, tato hodnota sleduje logickou období / `generace", která charakterizuje dobu, kdy byl přidělen blok. Zpráva z těchto informací je vždy vyrábí na ukončení procesu, nebo na žádost uživatele. Tato informace pomáhá najít instancí a příčiny úniků paměti.
  • Použití neinicializována paměti haldy nebo uvolněné paměti haldy; To platí jak pro nástroje kontroly a jednoduchých nástrojů. Nástroj nastaví všechny nově přidělené paměti pro byte hodnotu 0xDD a veškeré uvolněné paměti k byte hodnotu 0xEE; Použití těchto hodnot, obvykle vede k naprogramování chyby, pokud je tato paměťová oblast obsahuje ukazatel, pak dereferencing z ukazatel s hodnotou 0xDDDDDDDD povedou k havárii.
  • poškození paměti haldy; To platí jak pro nástroje kontroly a jednoduchých nástrojů. Kontroly nástroj pro paměť přepíše a pojišťuje umístěním paměťové předpony a přípony na každém bloku haldy; v případě, že hodnota přípony se změní poté je detekován haldy přepsání / pojistit.
  • Toto se vztahuje na '' 'kontrolu nástroj' '' pouze; Zneužití manipulaci s řetězci funkcí glibc a paměti kopírovat / přesouvat funkcí glibc; stack korupci těmito kontrolovaných funkcemi Nástroj se první přihrávku na společných standardních funkcí knihoven, je kontrolováno, že funkce nebude přepsat existující argumentace haldy blok; to je také zkontrolovat, že stoh volající vlákno nebude poškozen.

Co je nového v této verzi:

  • , aby se dostane CFLAGS proměnná prostředí
  • vybudovat dbgmem knihovnu s -ldl volbou
  • sdílená knihovna je nyní umístěna do lib / $ (uname -r) seznam, protože glibc je ženatý na verzi jádra.
  • Oprava kompilace na některých systémech (configure krok)
  • přidat možnost spuštění skriptu (-m - vygenerovat stack sleduje pouze pro některé generace)

Co je nového ve verzi 1.9.1:

  • vytvořit skript aktualizován, se nyní snaží zjistit požadované BUILT nastavení; stále ještě ne teď, jak to udělat automake ačkoli
  • chyba kompilace v režimu C pro gcc 2.9.6 pevné; gcc stále havaruje s vnitřní chybou v C ++ vestavěný režim
  • přidána volba -g (zakázat šek na párování malloc / Nový / new [] a zdarma / smazat / delete [] v C ++ režim)

Co je nového ve verzi 1.7:

  • volbu -F následovat vidlice a exec hovory (podobně jako v přidané vidlice / exec)
  • se vytiskne na příkazový řádek ladit procesu v hlavičce souboru sestavy.
  • mapa název souboru nyní obsahuje PID.
  • mazat soubory raw zprávy ve výchozím nastavení; existuje příliš mnoho z nich;
  • všechna použití sprintf změní na snprintf

Podobný software

LMDBG
LMDBG

20 Feb 15

DBG
DBG

3 Jun 15

WingDBG
WingDBG

20 Feb 15

xtrace
xtrace

11 May 15

Komentáře k DBGMEM

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!