Skip to content
SymbolResolverDeinit

SymbolResolverDeinit

Description

Tear down the resolver, closing every cached ElfFile and freeing the cache + ProcMaps. Safe on a zeroed struct.

Usage example (Cross-references)

Usage examples (Cross-references)
        ResolvedSymbol r;
        if (!SymbolResolverResolve(&res, (void *)&dwarf_marker_helper, &r)) {
            SymbolResolverDeinit(&res);
            DefaultAllocatorDeinit(&alloc);
            return false;
        ElfFile elf;
        if (!ElfFileOpen(&elf, r.module_path, base)) {
            SymbolResolverDeinit(&res);
            DefaultAllocatorDeinit(&alloc);
            return false;
    
        ElfFileDeinit(&elf);
        SymbolResolverDeinit(&res);
        DefaultAllocatorDeinit(&alloc);
        return ok;
    
        StrDeinit(&out);
        SymbolResolverDeinit(&res);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        ok = ok && r.symbol_name != NULL;
    
        SymbolResolverDeinit(&res);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        ok                = ok && r.symbol_name != NULL && ZstrFindSubstring(r.symbol_name, "symres_marker_helper") != NULL;
    
        SymbolResolverDeinit(&res);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        }
        FormatStackTraceWith(out, frames, count, &res);
        SymbolResolverDeinit(&res);
    }
    }
    
    void SymbolResolverDeinit(SymbolResolver *self) {
        if (!self)
            return;
Last updated on