Como substituir adequadamente os operadores globais novos e excluir

Primeiro de tudo, havia pelo menos 4-5 tópicos com um tópico semelhante no SO. Li cada uma delas e não acho que elas realmente me ajudem com esse problema específico. Se alguém encontrar uma pergunta duplicada, peço desculpas. Eu fiz minha parte de pesquisa antes de postar isso, pois parece uma pergunta muito comum.

Estou usando o Visual Studio .NET 2003 no Windows 7.

Tenho minhas próprias sobrecargas de new / delete que apontam para minhas próprias chamadas personalizadas para malloc () e free () para diagnóstico. Minhas novas sobrecargas / exclusão estão em um arquivo de cabeçalho que incluí em alguns arquivo

O problema é que a base de código é praticamente espaguete e não há uma maneira fácil de garantir que essas sobrecargas sejam usadas por tudo. Existem inclusões para bibliotecas de terceiros que são caixa preta. Também usamos STL em todos os lugares.

Nos meus testes, descobri que o STL ainda está misturando chamadas para minhas próprias novas / excluídas e as chamadas novas / excluídas padrão do MSV

Não parece realista incluir meu arquivo de cabeçalho em milhares de outros arquivos, isso levaria muito tempo. Alguém pode oferecer algumas dicas sobre como sobrecarregar nova e excluir globalmente de maneira adequada e eficaz, para que tudo use meu gerenciador de memória personalizado?

questionAnswers(2)

yourAnswerToTheQuestion