Dr. Memory on macOS

Inštalačný súbor si stiahnite https://github.com/DynamoRIO/drmemory/wiki/Downloads. (Priamy link)

Ovorte terminál. Ten nájdete v časti Launchpad > Others alebo pomocou rýchleho vyhladávania: stlačte ⌘+Space a napíšte Terminal.

Presuňte sa do priečinku Downloads, prípadne do priečinku, v ktorom sa nachádza stiahnutý inštalačný súbor (Pomocou príkazov cd {directory}). Preveďte nasledujúcu postupnosť krokov:

Pozor! X.X.X-X bude nahradené vašou aktuálne stiahnutou verziou.

tar xzf DrMemory-MacOS-X.X.X-X.tar.gz
mv DrMemory-MacOS-X.X.X-X drmemory
sudo mv drmemory /usr/local/

Následne modifikujeme shellovskú PATH, aby sa nám Dr. Memory lahšie spúšťal.

cd
nano .bash_profile

Otvorí sa súbor .bash_profile pripravený pre editovanie. Ak už tento súbor niečo obsahuje, nemažte to.
Do súboru vložte nasledovný riadok (stačí bežným skopírovaním):

export PATH="/usr/local/drmemory/bin/:$PATH"

Stlačte ctrl+o, následne Enter, na potvrdenie uloženia zmien. Potom stlačte ctrl+x, čím opustíte súbor a jeho editovanie.

Zavrite toto terminálove okno a otvorte nové (tento krok je podstatný!).
Napíšte do terminálu

drmemory

Mali by ste obdržať správu nasledujúceho formátu:

WARNING: this version of Mac OSX is not officially supported by Dr. Memory.

ERROR: no app specified

Usage: drmemory [options] -- <app and args to run>
Run with -help for full option list.
See http://drmemory.org/docs/ for more information.

Použitie DrMemory

Predpokladajme program pozostávajúci z jediného súboru main.c. Prítomnosť memory leakov vo vašom programe otestujete nasledovne. Flagy -m32 -g -fno-inline -fno-omit-frame-pointer sú pre kompiláciu potrebné a binárka skompilovaná bez nich nemusí byť validným vstupom pre aplikáciu Dr. Memory.

gcc -m32 -g -fno-inline -fno-omit-frame-pointer main.c -o main
drmemory -- main

Za príkaz gcc môžete samozrejme pridať flagy ako -Wextra atď., pre zjednodušenie sa tam nenachádzajú.

results matching ""

    No results matching ""