大家好:
      三层结构如何调试,注意服务器端是dll文件

解决方案 »

  1.   

    最好是把服务器端的东西输出为LOG记录,然后根据log来解决问题。
      

  2.   

    可以使用CodeSite来调试,即把要查看的东西用CodeSite显示出来。
    在www.Delphifans.com上可以下载。
      

  3.   

    是调试COM+吗?
    方法是:
    在Delphi中做好COM+以后,project-〉options-〉linker-〉include Td32 info 和 include remote debug symbol 选上;
    然后,在Delphi中注册COM+组件,注册到一个新的应用程序.
    打开Windows的组件服务中的COM+应用程序,找到刚才新建的应用程序,在属性的高级页中,选上"在调试器中启动选项",这时你会发现自动生成了调试器路径,这个路径(特别是后面的GUID参数)一定不要改.
    最后,回到Delphi,RUN|PARAMETERS
      HOST APPLICATION 填入 {系统路径}\system32\dllhost.exe
      PARAMETERS    /processID:{xxxxxxxxxxxxxxxxxxxxxxxxxxxxx}   这里的参数用刚才在组件管理器中自动生成的GUID参数
    在Delphi的COM+工程中运行.这时另外运行一个客户端程序(不一定要在Delphi中运行),当它调用刚才的COM+时,Delphi的COM+工程就会停在你设好的断点上.
      

  4.   

    你这种的三层调试不好联机调试的,因为DLL没有依附的Exe程序
    也就是说只能单边的调试,比如可以先调试客户端系统,如果跟踪不到数据或发现系统出错不在客户端产生,在调试DLL服务器,这个调试你只要对DLL的调试熟悉应该没有问题的。或者写个Exe的APP服务器这样就可以联机调试系统了