初学Delphi,调试功能做的真不咋地,DebugN多变量都是没法显示值,只好像C++那样用printf输出,但是找遍所有的调试窗口都找不到输出,烂多了

解决方案 »

  1.   

    procedure write(str:string);
      Filestream : integer;
    begin
    Filestream := FileCreate(FileName);
    FileWrite(Filestream ,PCHAR(str)^,length(str)+1);
    end;procedure writeln(str:string);
      Filestream : integer;
    begin
    Filestream := FileCreate(FileName);
    FileWrite(Filestream ,PCHAR(str+chr($a))^,length(str)+1);
    end;
      

  2.   

    DebugN多变量都是没法显示值???? 不会啊
    如果是直接要在窗体背景上面写字的话
    Self.Caption:=Self.Caption+#13+ 'dfaasfa'  //最后一个是变量不过建议拖一个memo出来 用Memo1.Strings.add('')
      

  3.   

    Form程序需要创建Console才能WriteLn可以用Windows的一个API代替WriteLn:OutputDebugString挺好用的
    运行的时候,打开Delphi的菜单
    View|Debug|Event Log
    就可以看到它的输出,应用程序脱离Delphi运行时可以用其他第三方的查看工具查看它的Output,我常用DebugView(dbgview)
      

  4.   

    并不是Delphi的调试功能烂,只是你还不熟悉而已.
      

  5.   

    事实上做得的确不如MS的
    NET2003 显示一个多层结构的值可以显示一个树结构出来,Delphi就做不到...,帮忙方便性更是没得比
      

  6.   

    可以用Windows的一个API代替WriteLn:OutputDebugString挺好用的
    运行的时候,打开Delphi的菜单
    View|Debug|Event Log
    就可以看到它的输出,...这个方法还可以,我要的就是在Debug窗口输出临时值这种效果,只是API函数在Delphi2005里还要添加
    声明~~,而且release的版本应该还执行这个OutputDebugString语句吧
    Delphi也可以用ASSERT(exception) exception只为true false表达式,没有像VC那样的TRACE,TRACE对release版本也是无效的,就是说调试信息可以不用手工再删除