Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 其他用户也在同一AX客户端上工作时使用AX 2012调试器_Axapta_Dynamics Ax 2012 - Fatal编程技术网

Axapta 其他用户也在同一AX客户端上工作时使用AX 2012调试器

Axapta 其他用户也在同一AX客户端上工作时使用AX 2012调试器,axapta,dynamics-ax-2012,Axapta,Dynamics Ax 2012,我想在试生产环境中调试代码,但我想知道这是否会困扰使用相同AX客户端的其他用户。如果我调试代码,它会影响其他用户吗?它不应该打扰其他用户,因为调试器是一个独立于客户端的程序 使用F9将断点添加到代码中,或在“调试”菜单中选择“切换断点”,或单击代码旁边的灰线。然后,断点是特定于用户的,客户端只会停止并开始为您的用户进行调试 如果您使用断点语句在X++代码中设置断点,这将困扰用户,当用户的操作到达断点语句时,客户端将停止并启动调试会话 所以用这个: 而不是这个: 它不应该打扰其他用户,因为调试器

我想在试生产环境中调试代码,但我想知道这是否会困扰使用相同AX客户端的其他用户。如果我调试代码,它会影响其他用户吗?

它不应该打扰其他用户,因为调试器是一个独立于客户端的程序

使用F9将断点添加到代码中,或在“调试”菜单中选择“切换断点”,或单击代码旁边的灰线。然后,断点是特定于用户的,客户端只会停止并开始为您的用户进行调试

如果您使用断点语句在X++代码中设置断点,这将困扰用户,当用户的操作到达断点语句时,客户端将停止并启动调试会话

所以用这个:

而不是这个:


它不应该打扰其他用户,因为调试器是一个独立于客户端的程序

使用F9将断点添加到代码中,或在“调试”菜单中选择“切换断点”,或单击代码旁边的灰线。然后,断点是特定于用户的,客户端只会停止并开始为您的用户进行调试

如果您使用断点语句在X++代码中设置断点,这将困扰用户,当用户的操作到达断点语句时,客户端将停止并启动调试会话

所以用这个:

而不是这个:


它很可能不会以您认为的方式干扰用户。正如Jan所说,他们的客户机可能会挂起,但是当您的客户机在调试期间被冻结时,他们的客户机不会同时被冻结,仅仅因为您正在调试。他们打开自己的会话并相互独立地连接到AOS。它们会受到锁定事务的影响,这将需要几秒钟,但是由于在事务的中间可能暂停了代码执行,所以它将保持一个锁。

您可以通过在开发环境中调试,然后在同一本地或远程计算机上打开第二个客户端实例来演示这一点,您将看到您可以继续工作/测试。如果您非常关心影响,则应该这样做


如果他们在计算机上拥有管理或AX调试器权限,打开全局断点,并且调试器与他们正在工作的客户端一起安装,那么从技术上讲,他们可以启动调试器会话……但是,在大多数安装中,这类任务必须对齐。如果发生这种情况,那将是非常糟糕的做法。

它很可能不会以您认为的方式干扰用户。正如Jan所说,他们的客户机可能会挂起,但是当您的客户机在调试期间被冻结时,他们的客户机不会同时被冻结,仅仅因为您正在调试。他们打开自己的会话并相互独立地连接到AOS。它们会受到锁定事务的影响,这将需要几秒钟,但是由于在事务的中间可能暂停了代码执行,所以它将保持一个锁。

您可以通过在开发环境中调试,然后在同一本地或远程计算机上打开第二个客户端实例来演示这一点,您将看到您可以继续工作/测试。如果您非常关心影响,则应该这样做


如果他们在计算机上拥有管理或AX调试器权限,打开全局断点,并且调试器与他们正在工作的客户端一起安装,那么从技术上讲,他们可以启动调试器会话……但是,在大多数安装中,这类任务必须对齐。如果发生这种情况,那将是非常糟糕的做法。

但我认为,当调试器打开时,我们不能在AX客户端中执行任何操作,对吗?因此,我们可能无法100%确定客户机和调试器处于同一进程。当您进行调试时,在完成调试之前,您无法在客户机中执行任何操作,但其他用户可以正常使用其客户机。如果您在调试时访问了一条记录,而另一个用户访问了同一条记录,则您很可能会得到相同的结果,就像您两人同时访问该记录而未使用调试器一样。请注意,调试时完成事务需要更长的时间!对于其他用户,这可能会显示为挂起,直到调试会话被shift-F5停止,或者它已通过最后一次
ttscommit
。您可以阻止用户,因为您在数据库中保留某些锁的时间太长。但我认为,当调试器打开时,我们无法在AX客户端中执行任何操作,对吗?因此,我们可能无法100%确定客户机和调试器处于同一进程。当您进行调试时,在完成调试之前,您无法在客户机中执行任何操作,但其他用户可以正常使用其客户机。如果您在调试时访问了一条记录,而另一个用户访问了同一条记录,则您很可能会得到相同的结果,就像您两人同时访问该记录而未使用调试器一样。请注意,调试时完成事务需要更长的时间!对于其他用户,这可能会显示为挂起,直到调试会话被shift-F5停止,或者它已通过最后一次
ttscommit
。您可能会阻止用户,因为您在数据库中保留某些锁的时间太长。