解决方案 »

  1.   

    跳转到了afxcomctl32.h 文件时有什么提示?
      

  2.   

    建议 在dll函数的里面下断点,每次调用的时候可以会先去加载相关的参数
      

  3.   

    断点显示在AFX_ISOLATIONAWARE_FUNC(DWORD ,CommDlgExtendedError,(void),(),0)这里,然后就回到原来调用dll的地方。
    再按F11就到汇编了。
    _alloca_probe_16 proc                   ; 16 byte aligned alloca        push    ecx
            lea     ecx, [esp] + 8          ; TOS before entering this function
            sub     ecx, eax                ; New TOS
            and     ecx, (16 - 1)           ; Distance from 16 bit align (align down)
            add     eax, ecx                ; Increase allocation size
            sbb     ecx, ecx                ; ecx = 0xFFFFFFFF if size wrapped around
            or      eax, ecx                ; cap allocation size on wraparound
            pop     ecx                     ; Restore ecx
            jmp     _chkstk
      

  4.   

    可以直接启动 DLL 进行调试, 把DLL项目作为启动项目, debugging -> Command 设置成 exe 就行了,这样会直接进入到DLL 的断点。
      

  5.   

    顶楼上的,直接启动dll工程,进行调试就好
      

  6.   

    调试EXE是可以的,进到别的函数里面F10往下走,应该可以到
      

  7.   


    我想从外部进入dll调试,而不是直接调试dll,因为dll的调用层我也需要调试。
      

  8.   

    是的,在dll的源文件里打断点可以进入,但是就是不知道为什么外部用F11的命令进不去。
      

  9.   


    我想从外部进入dll调试,而不是直接调试dll,因为dll的调用层我也需要调试。你不想调试dll,为什么还要进dll里?