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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.10.2011, 12:53   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AraraT® Посмотреть сообщение
Если бы отладчик Аксапты умел вызывать методы при написании их, например, в окне "Watch" (как это умеет 1С), тогда бы не пришлось заморачиваться с перегрузкой методов и написанием собственных...
X++:
class DEV_DebugHelper
{
     string expression;
     AnyType someObject;
     AnyType someObject()
     {
           return someObject;
     }
     string toString()
     {
          evalBuf(expression, this);
     }
}
В дебаггере меняете expression и смотрите результат в toString.

Приходится прицеплять к нужным объектам (присваивать someObject в коде)

Я так смотрел LedgerDimensionы в Ax2012, когда там хелперов для дебаггеров еще не написали. Может вы сможете развить идею
За это сообщение автора поблагодарили: Maxim Gorbunov (4), mazzy (5), Logger (5), AraraT® (2), S.Kuskov (5).
Старый 25.10.2011, 13:31   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,985 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
В дебаггере меняете expression и смотрите результат в toString.

Приходится прицеплять к нужным объектам (присваивать someObject в коде)

Я так смотрел LedgerDimensionы в Ax2012, когда там хелперов для дебаггеров еще не написали. Может вы сможете развить идею
Хорошая идея.
Тоже хотел такое предложить, хотя сам на практике и не использовал.

Есть один неясный момент. Если в дебагере некорректно написать код, которые попробует выполнить ваш toString, то может получиться исключение. Транзакции при этом не откатываются ? Если да, то как с этим боролись ?
Старый 25.10.2011, 13:54   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,985 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
Приходится прицеплять к нужным объектам (присваивать someObject в коде)
А вот интересно, возможно ли в X++ каким-то образом перебрать все объекты в памяти и получить к ним доступ ?
Похоже что нет.
Иначе можно было бы сделать полноценную надстройку над отладчиком, без необходимости присваивания someObject в коде.

P.S. когда ковырял Heapcheck, то находил там методы,
\System Documentation\Classes\HeapCheck\getUnfreedCursor
\System Documentation\Classes\HeapCheck\getUnfreedObject

Причем getUnfreedCursor() возвращает common
Не проверял, но возможно, что для курсоров возможен перебор всех объектов.

Хотя нам этого мало. Нужен перебор любых объектов и возможность сослаться на них в отладчике по какому-то идентификатору, например задавая его в строке expression
Старый 25.10.2011, 14:22   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Про exceptionы - не проверял
Теги
debugger, объект, отладка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012: Правила именования объектов sukhanchik DAX: Программирование 28 19.10.2013 17:24
Как сильно модифицировано ваше приложение Аксапты? (% обновленных партнерских объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Как сильно модифицировано ваше приложение Аксапты? (% новых партнерских объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Как сильно модифицировано ваше приложение Аксапты? (% обновленных объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Как сильно модифицировано ваше приложение Аксапты? (% новых объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:40
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:00.