解决方案 »

  1.   

    直接调试你的 DLL。
    在属性页里面的调试选项。设置命令参数为 Shell.exe.
    当shell.exe 调用你的 DLL 的时候,会触发你的断点,打印你的 调试输出。我都是这样调试的。
      

  2.   


    如果我选择在上图的 命令那里输入 Shell.exe 的路径,则会提示: 没有 Shell.exe 的调试信息或者调试信息不匹配,然后点击确定继续后,就不能进入库里面调试了,只能在入口文件的那个CPP里面看到,一旦进入其他的库(这个DLL工程由几个库),就进不去了(设置了断点了的)
      

  3.   

    我写的时候没有注意到调试参数里面有个叫命令参数。也就是设置命令为 Shell.exe 这个可执行文件。命令参数为空。设置好工作目录。
    其实对于你的 DLL 工程,就是把 命令 $(TargetPath),这是为 $(TargerDir)Shell.exe。把 Shell.exe 和你的 DLL放在一起。
    然后,在你的 源文件里面添加断点。如果你的源文件不再  DLL 项目里面,而是在其他的项目里面,甚至这个项目没有加载。
    那么,简单的方法就是断点进入,打开这个文件在 DLL 的项目中,下次就可以了。
    如果其他的库在解决方案里,可以直接设置断点的。