示例#1
0
        private async Task<SourceLine[]> LinesForFile(string file)
        {
            string cmd = "-symbol-list-lines " + _process.EscapePath(file);
            Results results = await _process.CmdAsync(cmd, ResultClass.None);

            if (results.ResultClass != ResultClass.done)
            {
                return null;
            }

            ValueListValue lines = results.Find<ValueListValue>("lines");
            SourceLine[] list = new SourceLine[lines.Content.Length];
            for (int i = 0; i < lines.Content.Length; ++i)
            {
                ulong addr = lines.Content[i].FindAddr("pc");
                uint line = lines.Content[i].FindUint("line");
                list[i].Set(line, addr);
            }
            return list;
        }