DbgSysStackTraceVisual

From SunFlurry wiki
Revision as of 15:54, 16 June 2019 by Admin (talk | contribs) (Created page with "{{infobox function |name=DbgSysStackTraceVisual |object=Функции общего назначения |caption=Функции отладки |type=1 |status=2 |db=0 |vi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  DbgSysStackTraceVisual (Функции отладки)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Визуальность:Нет

Отладочная функция получает системный стек вызовов визуального потока в виде строки. Без наличия соответствующего .map файла клиента, стек будет иметь неописательную информацию. Функция может быть вызвана только для визуального клиента. См. также DbgSysStackTrace.

Результат будет представлять строку, состоящую из записей, разделенных знаками _NEWLINE, в записи может входить разнообразная информация по системному стеку исполнения текущего потока. Каждая запись обозначает вызов функции (первыми идут более поздние вызовы) и может иметь формат (формат может отличаться) {<Наименование исполняемого модуля>} (<Адрес исполнения по отношению к началу модуля в памяти>)[<Абсолютный шестнадцатеричный адрес исполнения>] <Наименование функции>+$<шестнадцатеричное смещение кода от начала указанной функции> (+<количество строк кода от начала функции> lines) (<Файл исходных текстов, содержащий функцию>,Line <Строка файла исходных текстов>). Системный стек отличается от языкового (DbgStackTrace), тем, что он описывает вызовы функции клиента на уровне операционной системы.

Синтаксис

dbgSysStackTraceVisual():<Системный стек вызовов визуального потока (STRING)>

Возвращаемое значение

Функция возвращает строку-стек вызовов.

Примеры

Message(dbgSysStackTraceVisual);
//В лог будет выведена информация, подобная приведенной ниже (x86):
//{KERNELBASE.dll                  } (0000B54F)[74FDC54F] RaiseException+$58
//{SFCG.exe                        } (003CA7F2)[007CB7F2] uMainFrame.TMainFrame.WMExecCommand+$D12 (+163 lines) (uMainFrame.pas, Line 2186)
//{SFCG.exe                        } (00164D3D)[00565D3D] Vcl.Controls.TControl.WndProc+$2BD
//{SFCG.exe                        } (0016969B)[0056A69B] Vcl.Controls.TWinControl.WndProc+$5B3
//...