C言語のメモリ管理

 C言語でのメモリ管理では多くの場合、

 Person* person = MemoryAlloc( sizeof(Person), USER_HOGE, PERSON );

 のように確保して、

 MemoryFree( person, USER_HOGE, PERSON );
 person = NULL;

 というような事を今までやってきた。

 USER_HOGE は、メモリを確保したユーザー、
 PERSON は、メモリを確保した目的。
 この二つが異なると、メモリを解放できない。(動的エラーとなる)

 これらをデバッグ時にメモリリンクリストを参照して表形式にして画面に表示し、画面遷移後のリークなどを発見するようにしていた。
 今はどうなんだろう、と考えたりした。
 もっと良い手があるのかもしれないなぁ。