Board logo

Subject: cndebug的Local模式有点卡 [Print This Page]

Author: npc8    Time: 2017-5-16 17:39     Subject: cndebug的Local模式有点卡

在cndebuger已经打开的情况下,用Local模式,第一次logmsg 大概需要4秒左右,不知道是什么问题

用Global模式的话启动很快

不知道大伙有没有遇到的?

版本是最新的Release  delphi是Tokyo10.2
Author: npc8    Time: 2017-5-16 17:48

如果cndebuger没有开启的情况下,启动还是挺快的

好似这段代码有点问题:

如果cndebugger已经在运行了,第一次调用, WaitForSingleObject会一直等到超时

  hStarting := CreateEvent(nil, False, False, PChar(SCnDebugStartEventName));
  if 31 < WinExec(PAnsiChar(ViewerExe + AnsiString(IntToStr(GetCurrentProcessId))),
    SW_SHOW) then // 成功创建,等待
  begin
    if hStarting <> 0 then
    begin
      WaitForSingleObject(hStarting, CnDebugStartingEventTime);
      CloseHandle(hStarting);
    end;
  end;

[ 本帖最后由 npc8 于 2017-5-16 18:01 编辑 ]
Author: Passion    Time: 2017-5-17 11:36

感谢报告,经过查找,这确实是我们一个隐藏很深的Bug,那个hStarting本应该由运行的CnDebugViewer来SetEvent,但由于初始化顺序错误,导致我们Set的Event是Global的,而不是Local的,从而此处WaitForSingleObject会等到超时。

目前此问题我们已修正,等900最新每日构建版出来麻烦再试一试?
Author: Passion    Time: 2017-5-17 12:34

900已出。http://www.cnpack.org/downbuilds.php
Author: npc8    Time: 2017-5-18 17:36



QUOTE:
原帖由 Passion 于 2017-5-17 12:34 发表
900已出。http://www.cnpack.org/downbuilds.php

问题似乎解决了,困扰我也很久了,一直以为自己机器性能降低了
Author: Passion    Time: 2017-5-19 10:55

俺们的细节问题,细节问题。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0