DoxigAlpha

resolveAddresses

Given an array of virtual memory addresses, sorted ascending, outputs a corresponding array of source locations.

Function parameters

Parameters

#
info:*Info
sorted_pc_addrs:[]const u64
Asserts the addresses are in ascending order.
output:[]SourceLocation
Asserts its length equals length of `sorted_pc_addrs`.

Functions in this namespace

Functions

#
resolveAddresses
Given an array of virtual memory addresses, sorted ascending, outputs a

Error sets in this namespace

Error Sets

#

Source

Implementation

#
pub fn resolveAddresses(
    info: *Info,
    gpa: Allocator,
    /// Asserts the addresses are in ascending order.
    sorted_pc_addrs: []const u64,
    /// Asserts its length equals length of `sorted_pc_addrs`.
    output: []SourceLocation,
) ResolveAddressesError!void {
    assert(sorted_pc_addrs.len == output.len);
    if (info.address_map.entries.len != 1) @panic("TODO");
    const elf_module = &info.address_map.values()[0];
    return info.coverage.resolveAddressesDwarf(gpa, sorted_pc_addrs, output, &elf_module.dwarf);
}