Debugging Tools for Windows

GetSourceFileLineOffsets

The GetSourceFileLineOffsets and GetSourceFileLineOffsetsWide methods map each line in a source file to a location in the target's memory.

IDebugSymbols::GetSourceFileLineOffsets(
    IN PCSTR  File,
    OUT OPTIONAL PULONG64  Buffer,
    IN ULONG  BufferLines,
    OUT OPTIONAL PULONG  FileLines
    );

Parameters

File
Specifies the name of the file whose lines will be turned into locations in the target's memory. The symbols for each module in the target are queried for this file. If the file is not located, the path is dropped and the symbols are queried again.
Buffer
Receives the locations in the target's memory that correspond to the lines of the source code. The first entry returned to this array corresponds to the first line of the file, so that Buffer[i] contains the location for line i+1. If no symbol information is available for a line, the corresponding entry in Buffer is set to DEBUG_INVALID_OFFSET. If Buffer is NULL, this information is not returned.
BufferLines
Specifies the number of PULONG64 objects that the Buffer array can hold.
FileLines
Receives the number of lines in the source file specified by File.

Return Value

S_OK
The method was successful.
S_FALSE
The method was successful. However, the number of lines in the source file exceeded the number of entries in the Buffer array and some of the results were discarded.

These methods can also return error values. See Return Values for more details.

Interface Version

GetSourceFileLineOffsets Is available in all versions of IDebugSymbols.

Comments

For more information about using the source path, see Using Source Files.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

FindSourceFile, GetSourceEntriesByLine

Build machine: CAPEBUILD