⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findleak.pl

📁 nasm的全套源代码,有些我做了些修改,以方便您更方便更容易调试成功,方便学习做编译器
💻 PL
字号:
#!/usr/bin/perl
# From: Ed Beroset <beroset@mindspring.com>

my %mem = {};
my %alloc = {};
while(<>)
{
        if (/realloc\((0x[0-9a-f]+).*\).*returns \((0x[0-9a-f]+)/)
        {
                $mem{$1}--;
                if ($mem{$1} != 0) {
                        print "free before alloc! $_";
                }
                if ($mem{$2} != 0) {
                        print "memory leak! $_";
                }
                $mem{$2}++;
                $alloc{$2} = $_;
        }
        elsif (/free\((0x[0-9a-f]+)/)
        {
                $mem{$1}--;
                if ($mem{$1} != 0) {
                        print "free before alloc! $_";
                }
        }
        elsif (m/returns (0x[0-9a-f]+)/)
        {
                if ($mem{$1} != 0) {
                        print "memory leak! $_";
                }
                $mem{$1}++;
                $alloc{$1} = $_;
        }
}
foreach $goo (sort keys %mem)
{
        if ($mem{$goo})
        {
                print "$mem{$goo} $alloc{$goo}";
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -