或者 怎么调试呢?

解决方案 »

  1.   

    F7.吃了内存,再检查DCU..........................
    GOOD TASTE.
      

  2.   

    用MOUSE单击,源码左方那个竖面板,设置断点,当程序运行到那后,就可看中间结果了,但要请注意,并不是每行代码前都能设置断点(注释前,声明定义前等)不能设置断点
      

  3.   

    不对吧?F7就直接到Application.Initialize了,Application.Initialize之前Delphi的动作是什么?
      

  4.   

    To  madyak(无天):
    这样不行吧?比如我想调试Form单元的TApplication.Initialize过程
    这样设置断点:
                  procedure TApplication.Initialize;
                  begin
               ●   if InitProc <> nil then TProcedure(InitProc);//设置断点位置
                  end;
    就不行
      

  5.   

    我猜想大概过程应该是这样:
    1.检查代码语法
    2.编译
    3.执行编译后的程序
    4.创建Application对象
    5.TApplication.Initialize
    ....................
    不知道顺序对不对,但上面的每一个过程都应该执行吧?
    这些代码好像找不到....
      

  6.   

    执行了sysinit.pas里边的
    procedure _InitExe(InitTable: Pointer);
    begin
      TlsIndex := 0;
      HInstance := GetModuleHandle(nil);
      Module.Instance := HInstance;
      Module.CodeInstance := 0;
      Module.DataInstance := 0;
      InitializeModule;
      _StartExe(InitTable, @Module);
    end;具体的你可以跟踪看看,不好理解:(
      

  7.   

    System单元initialization部分的代码是否也是初始化程序的?
      

  8.   

    shift+鼠标左键看看TApplication.initialize()里的代码,不清楚的话再追进去看看,不过不要指望它把什么都告诉你,有些底层的东西,象如何将程序加载到内存是很难知道的.