CnPack Forum


 
Subject: 【我是因为想骂人才注册的】 cndebug 开发人员真的应该被骂
linlance
新警察
Rank: 1



UID 37075
Digest Posts 0
Credits 13
Posts 4
点点分 13
Reading Access 10
Registered 2008-2-2
Status Offline
Post at 2008-2-2 22:24  Profile | Blog | P.M. 
【我是因为想骂人才注册的】 cndebug 开发人员真的应该被骂

我先说一下,我刚才骂了半天,这个论坛居然标题超过长度,就把帖子内容清空了,靠。也不知道谁架设的论坛,3年前的论坛都不会这样的。

刚才的都没有了,我重新打一下:
看看开发大大们对于CNDEBUG的回答:
==========================================
kendling (小冬)  发表于 2007-4-11 07:46   试一下在工程选项里定义DEBUG。
http://bbs.cnpack.org/viewthread.php?tid=1529&highlight=cndebug

Passion (LiuXiao) 发表于 2006-8-10 08:52  DEBUG 需要在 Project Options 对话框里头设置

http://bbs.cnpack.org/redirect.php?goto=newpost&tid=1157
==========================================

以上的回答,能让人明白怎么做嘛?虽然也许对大大们来说,跟1+1等于几的问题一样,从未站在别人的角度考虑过问题。
也就是根本不站在客户的角度上看问题。技术人员的悲哀啊。。。

这是我唯一找到的说明,对老外的:
==========================================
shenloqi 灌水科科长 发表于 2007-9-14 13:48  project options -> Directories/Conditionals

http://bbs.cnpack.org/viewthread.php?tid=1791&highlight=cndebug
==========================================

写个说明真的那么难嘛?我写第二遍了,第一遍刚才被狗屁论坛给清空了:
==========================================
在菜单Project-->option-->Directories/Conditionals 中的Conditionals 区域填入{$DEFINE DEBUG} 或者DEBUG
就可以全局使用DEBUG了,最后编译的时候如果不想输出调试信息,修改为 NDEBUG 就可以了。

在需要调试的单元里如下位置,加入红色字部分:
implementation
{$IFDEF DEBUG}
uses
  CnDebug;
{$ENDIF}


在需要调试地方加入红色字部分:
{$IFDEF DEBUG}
  CnDebugger.StopTimeMark(1);
  CnDebugger.LogLeave('Leave btn1Click.');
{$ENDIF}


在更多的方法,就自行看DEBUG.PAS吧,哈哈哈:)




[ 本帖最后由 linlance 于 2008-2-2 22:44 编辑 ]
Top
linlance
新警察
Rank: 1



UID 37075
Digest Posts 0
Credits 13
Posts 4
点点分 13
Reading Access 10
Registered 2008-2-2
Status Offline
Post at 2008-2-2 22:46  Profile | Blog | P.M. 
这个说明连安装包里面的帮助文件都没有写清楚。。。

不得不承认,这个工具包非常非常棒,值得推荐。我放在我的精品收藏里面了。
Top
gzf205
新警察
Rank: 1



UID 2530
Digest Posts 0
Credits 28
Posts 11
点点分 28
Reading Access 10
Registered 2006-9-6
Status Offline
Post at 2008-2-2 22:48  Profile | Blog | P.M. 
h

[ 本帖最后由 gzf205 于 2008-2-2 22:50 编辑 ]
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6822
Posts 3584
点点分 6822
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-2-2 23:29  Profile | Blog | P.M. 
实际上,网站上的组件帮助文档里头的《CnDebugger接口帮助文档 》里头有这部分的说明。
文档中心见下:
http://www.cnpack.org/showlist.php?id=3&lang=zh-cn

组件包的Doc目录下也有这个文档。
此文档的第二节CnDebugger对象说明了在Project Options中设置,不过确实没有写到“Directories/Conditionals 中的Conditionals 区域”这么详细。

CnPack的文档和帮助部分一直由于人力不足而做的很不完善,感谢您的指出。
其实我们也希望有更多的朋友参与。
Top
niaoge
灌水司司长
Rank: 6Rank: 6



UID 9910
Digest Posts 0
Credits 438
Posts 143
点点分 438
Reading Access 10
Registered 2007-4-8
Status Offline
Post at 2008-2-4 09:04  Profile | Blog | P.M. 
1. ,"这个论坛居然标题超过长度,就把帖子内容清空了"--我不敢骂,怕老大踢我
2.CnDebug,目前输出只能有字符串,不像codesite能够直接输入各种类型,我说的是直接,这个方便
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6822
Posts 3584
点点分 6822
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-2-4 09:31  Profile | Blog | P.M. 
niaoge,你说的直接输入类型具体是指什么?CnDebug也提供了部分直接输出基本类型的函数。
Top
niaoge
灌水司司长
Rank: 6Rank: 6



UID 9910
Digest Posts 0
Credits 438
Posts 143
点点分 438
Reading Access 10
Registered 2007-4-8
Status Offline
Post at 2008-2-4 10:16  Profile | Blog | P.M. 
用overload 统一统出函数的函数名像 LogMsg,LogInteger,LogEnter,LogLeave,LogFmt,LogStrings,LogFmt....
统一起来,能统一多少就统一多少,方便搞,另外加一些稍不常用的类型word,DWORD,LongWord,Char,PChar...(不知道有没有,老大,如果我说错了,不能怪我啊),或其它进制输出
特别是其它进制的输出,可以直接在windows.pas内查找到输入的是什么,因为人工找的话还要先做转换,
像 VK_LEFT,VK_HOME等,能否直接用名称而不用数据代替(不过这个难度好大 )

{$IFDEF DEBUG}
uses
  CnDebug;
{$ENDIF}

略显麻烦,能否做一个单独的单元,直接让用户加在每个工程的uses下面, 让这个单元直接一次性控制是否要输出,

[ 本帖最后由 niaoge 于 2008-2-4 10:22 编辑 ]
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6822
Posts 3584
点点分 6822
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-2-4 11:01  Profile | Blog | P.M. 
{$IFDEF DEBUG}
uses
  CnDebug;
{$ENDIF}
这样的代码如果怕麻烦,可以直接使用
uses
  CnDebug;
CnDebug单元中如未定义DEBUG,内部也基本不做什么,不占什么资源。
你说的工程uses下面加单元的法子可以考虑,但即使工程uses处加单元,用户的各个单元还是得uses Cndebug才能输出信息哇。
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6822
Posts 3584
点点分 6822
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2008-2-4 11:14  Profile | Blog | P.M. 
不常用的这些类型word,DWORD,LongWord,Char,PChar..Cndebug里头确实没加上去。不过这部分加上去也不是太困难。niaoge有兴趣改改它不?
Top
niaoge
灌水司司长
Rank: 6Rank: 6



UID 9910
Digest Posts 0
Credits 438
Posts 143
点点分 438
Reading Access 10
Registered 2007-4-8
Status Offline
Post at 2008-2-4 16:04  Profile | Blog | P.M. 
老大,我现在没有时间啊,再说cndebuger的代码我还不熟悉呢,
我现在一直用codesite调试,只要codesite还没有收钱,就先不管啦
做一个公共单元,很容易的,这样用户正式发布的时候不需要再把这个公共单元清理掉,也不必考虑占用资源的问题
因我不常用cnDebug,暂把格式写下来

unit usesCndebug
{$IFDEF DEBUG}
uses
  CnDebug;
{$ENDIF}

procedure LogMsg(..);
procedure LogInteger(..);
procedure LogEnter(..);
procedure LogStrings(..);
procedure LogFmt(..);

implementation
procedure LogMsg(..);
begin
  {$IFDEF DEBUG}
    CnDebuger.LogMsg(..);
  {$ENDIF}
end;
procedure LogInteger(..);
begin
  {$IFDEF DEBUG}
    CnDebuger.LogInteger(..);
  {$ENDIF}
end;
procedure LogEnter(..);
begin
  {$IFDEF DEBUG}
    CnDebuger.LogEnter(..);
  {$ENDIF}
end;
procedure LogStrings(..);
begin
  {$IFDEF DEBUG}
    CnDebuger.LogStrings(..);
  {$ENDIF}
end;
procedure LogFmt(..);
begin
  {$IFDEF DEBUG}
    CnDebuger.LogFmt(..);
  {$ENDIF}
end;

end.

[ 本帖最后由 niaoge 于 2008-2-4 16:16 编辑 ]
Top
kendling (小冬)
高级版主
Rank: 8Rank: 8
MyvNet


Medal No.1  
UID 703
Digest Posts 5
Credits 978
Posts 580
点点分 978
Reading Access 101
Registered 2005-2-18
Location 广东
Status Offline
Post at 2008-2-29 19:12  Profile | Site | Blog | P.M.  | QQ | Yahoo!
这个公共单元只是对CnDebugger的函数多加了一层,应该跟直接调用没多大差别。




小冬
http://MyvNet.com
Top
farce
新警察
Rank: 1



UID 616
Digest Posts 0
Credits 5
Posts 3
点点分 5
Reading Access 10
Registered 2004-12-18
Status Offline
Post at 2010-7-15 10:04  Profile | Blog | P.M. 
还是没明白怎么使用

在PROJECT的OPTION中设置了,然后怎么办?怎么处理?不使用这{$IFDEF DEBUG}呢?到底是做什么用的?与ExceptionLog有什么区别?
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6822
Posts 3584
点点分 6822
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2010-7-16 10:39  Profile | Blog | P.M. 
Project Options里头设置了DEBUG的话,就可以在程序中用CnDebugger.Log系列函数输出信息到CnDebugViewer来查看。

如果未设置DEBUG,可以直接用CnDebugger.Trace系列函数输出信息。
Top
 




All times are GMT++8, the time now is 2024-10-31 08:53

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008509 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP