|
![]() |
#1 |
Участник
|
Если бы отладчик Аксапты умел вызывать методы при написании их, например, в окне "Watch" (как это умеет 1С), тогда бы не пришлось заморачиваться с перегрузкой методов и написанием собственных...
__________________
Айрат Вильданов. skype: vildanov.a |
|
![]() |
#2 |
Участник
|
Цитата:
тут либо не давать возможность вызывать методы, либо четко различать методы с побочными действиями (first, next, checkAndInsertData, findOrCreate, getSomthing, calcSomthing) от методов без побочных действий (standartCurrency...) (но тогда Хаксель выйдет с безумными монадами) не, нафиг, нафиг. |
|
![]() |
#3 |
Участник
|
Цитата:
X++: class DEV_DebugHelper { string expression; AnyType someObject; AnyType someObject() { return someObject; } string toString() { evalBuf(expression, this); } } Приходится прицеплять к нужным объектам (присваивать someObject в коде) Я так смотрел LedgerDimensionы в Ax2012, когда там хелперов для дебаггеров еще не написали. Может вы сможете развить идею |
|
|
За это сообщение автора поблагодарили: Maxim Gorbunov (4), mazzy (5), Logger (5), AraraT® (2), S.Kuskov (5). |
![]() |
#4 |
Участник
|
Цитата:
Тоже хотел такое предложить, хотя сам на практике и не использовал. Есть один неясный момент. Если в дебагере некорректно написать код, которые попробует выполнить ваш toString, то может получиться исключение. Транзакции при этом не откатываются ? Если да, то как с этим боролись ? |
|
![]() |
#5 |
Участник
|
Цитата:
Похоже что нет. Иначе можно было бы сделать полноценную надстройку над отладчиком, без необходимости присваивания someObject в коде. P.S. когда ковырял Heapcheck, то находил там методы, \System Documentation\Classes\HeapCheck\getUnfreedCursor \System Documentation\Classes\HeapCheck\getUnfreedObject Причем getUnfreedCursor() возвращает common Не проверял, но возможно, что для курсоров возможен перебор всех объектов. Хотя нам этого мало. Нужен перебор любых объектов и возможность сослаться на них в отладчике по какому-то идентификатору, например задавая его в строке expression |
|
![]() |
#6 |
Участник
|
Про exceptionы - не проверял
|
|
Теги |
debugger, объект, отладка |
|
|