Използване на AX 2012 дебъгер, когато други потребители също работят на същия ax клиент

Бих искал да отстраня грешки в кода в среда PreProduction, но се чудя дали това ще притесни други потребители, които използват същия AX клиент. Ще засегне ли другите, ако отстраня грешки в кода?


person AYETY    schedule 09.09.2015    source източник


Отговори (2)


Това не трябва да притеснява другите потребители, тъй като дебъгерът е отделна програма за клиента.

Добавете точки на прекъсване към кода, като използвате F9 или изберете Превключване на точка на прекъсване в менюто за отстраняване на грешки или щракнете върху сивата линия до кода. Тогава точката на прекъсване е специфична за потребителя и клиентът ще спре и ще започне отстраняване на грешки само за вашия потребител.

Ако зададете точка на прекъсване във вашия X++ код с помощта на израза за точка на прекъсване, това ще притесни потребителите и когато техните действия достигнат оператора за точка на прекъсване, клиентът ще спре и ще започне сесия за отстраняване на грешки.

Така че използвайте това:

въведете описание на изображението тук

И не това:

въведете описание на изображението тук

person Tina van der Vyver    schedule 09.09.2015
comment
Но това, което мисля, е, че когато се отвори дебъгерът, не можем да направим нищо в AX клиента, нали? Така че може би не можем да бъдем 100% сигурни, тъй като клиентът и програмата за отстраняване на грешки са в един и същи процес - person AYETY; 09.09.2015
comment
Когато отстранявате грешки, не можете да извършвате никакви действия в клиента, докато не приключите с отстраняването на грешки, но другите потребители могат да работят нормално със своите клиенти. Ако имате достъп до запис, докато отстранявате грешки, и друг потребител има достъп до същия запис, най-вероятно ще имате същия резултат, както ако и двамата имате достъп до записа едновременно и не използвате програмата за отстраняване на грешки. - person Tina van der Vyver; 09.09.2015
comment
Внимавайте, че транзакциите отнемат повече време за завършване, когато са отстранени грешки! Това може да се покаже като увисване за други потребители, докато сесията за отстраняване на грешки не бъде спряна от shift-F5 или не премине последния ttscommit. - person Jan B. Kjeldsen; 09.09.2015
comment
Можете да блокирате потребители, защото държите определени ключалки в базата данни твърде дълго. - person Reinard; 01.10.2015

Най-вероятно няма да пречи на потребителите по начина, по който смятате, че може. Както каза Ян, техните клиенти могат да висят, но когато вашият клиент е замразен по време на отстраняване на грешки, техните клиенти няма да бъдат замразени по същото време, просто защото вие отстранявате грешки. Те отварят свои собствени сесии и се свързват към AOS независимо един от друг. Те ще бъдат засегнати от заключени транзакции, което трябва да отнеме секунди, но тъй като потенциално сте поставили на пауза изпълнението на код по средата на транзакция, той ще поддържа заключване.

Можете да демонстрирате това чрез отстраняване на грешки в среда за разработка, след това отваряне на втори клиентски екземпляр на същата локална или на отдалечена машина и ще видите, че можете да продължите да работите/тествате. Ето какво трябва да направите, ако сте много загрижени за въздействието.

Ако имат администраторски разрешения или разрешения за дебъгер на AX на машината, глобални точки на прекъсване са включени и дебъгерът е инсталиран в тандем с клиента, където работят, тогава технически те биха могли да стартират сесия за дебъгер... но планетите трябва да се подравнят за да се случи това в повечето инсталации. Би било много лоша практика това да се случи.

person Alex Kwitny    schedule 09.09.2015