Function getLineNumberInfo [src]

Prototype

pub fn getLineNumberInfo( d: *Dwarf, gpa: Allocator, compile_unit: *CompileUnit, target_address: u64, ) !std.debug.SourceLocation

Parameters

d: *Dwarfgpa: Allocatorcompile_unit: *CompileUnittarget_address: u64

Source

pub fn getLineNumberInfo( d: *Dwarf, gpa: Allocator, compile_unit: *CompileUnit, target_address: u64, ) !std.debug.SourceLocation { try populateSrcLocCache(d, gpa, compile_unit); const slc = &compile_unit.src_loc_cache.?; const entry = try slc.findSource(target_address); const file_index = entry.file - @intFromBool(slc.version < 5); if (file_index >= slc.files.len) return bad(); const file_entry = &slc.files[file_index]; if (file_entry.dir_index >= slc.directories.len) return bad(); const dir_name = slc.directories[file_entry.dir_index].path; const file_name = try std.fs.path.join(gpa, &.{ dir_name, file_entry.path }); return .{ .line = entry.line, .column = entry.column, .file_name = file_name, }; }