AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2010, 18:11   #1  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Как программно получить стек вызовов?
DAX2009 SP1 RU6
Можно ли программно получить в виде строки стэк вызовов, такой же, как, например, получается при трассировке SQL? Мне при закрытии склада нужно понимать откуда вызывается метод при определенных условиях. Профайлер кода не запустишь - слишком много всего выполняется, под отладчиком ждать долго.
Старый 22.12.2010, 18:29   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
X++:
static void CallStack(Args _args)
{
    str s;
    int i;
    container stackTrace = xSession::xppCallStack();
    ;
    for(i=1;i<=conLen(stackTrace);i+=2)
    {
        s+=strFmt("%1",conPeek(stackTrace, i));
    }
    info(s);
}
Это?
__________________
С уважением,
Олег.
За это сообщение автора поблагодарили: Bega (1).
Старый 22.12.2010, 18:46   #3  
driller is offline
driller
Сам.AX
Аватар для driller
Самостоятельные клиенты AX
SAP
 
78 / 54 (2) ++++
Регистрация: 11.04.2007
Адрес: Санк-Петербург
В 3-ке в Global был такое метод:

X++:
static void callStack2infolog(str _prefix = "@SYS65092")
{
    container               stack = xSession::xppCallStack();
    counter                 n;
    TreeNodePath            stackPath;
    int                     line;
    ;
    setPrefix(_prefix);
    for (n = 3; n <= conLen(stack); n += 2)
    {
        stackPath = conPeek(stack,n);
        line      = conPeek(stack,n+1);

        if (line)
        {
            info(strfmt("%1 %2", stackPath, line),'', SysInfoAction_Editor::newLineColumn(stackPath, line));
        }
        else
        {
            info(strfmt("%1", stackPath));
        }

    }
}
@SYS65092 = Стек вызовов
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам."
Поль Валери
За это сообщение автора поблагодарили: Bega (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Программно получить обороты по счету propeller DAX: Программирование 13 09.06.2011 14:13
aEremenko: Стек вызовов в DAX 2009 Blog bot DAX Blogs 3 08.05.2009 09:38
Как получить стек вызовов без изменения кода? Ilia# DAX: Программирование 2 24.01.2006 11:04
Как получить стек вызовов? bucken DAX: Программирование 6 03.08.2005 15:24
Как получить стек вызовов ? Dmitryus DAX: Программирование 1 26.07.2004 12:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.