1、调试dll的概述
由于dll本身是不可执行的,所以给开发和调试工作带来了一定得难度,在VC++中如何调试dll程序呢?提供了两种解决办法
2、调试dll的技巧
打开应用程序的工程,选择【Project】—>【Settings】菜单命令,在弹出对话框的“Debug”标签下,“Category”选择“General”,在“Program Arguments”中指定应用程序命令行参数。“Category”选择“Additional dlls”,输入调试的dll文件,如果使用远程调试,要给出完整的网络路径。这个dll必须编译成Debug版本的程序,包含有调试信息。这样尽管dll源不是这个工程的组成部分,也可以在应用程序和dll的源程序中设置断点。同时使用应用程序的工程来调用dll
在同一个工程区内打开dll和应用程序,这样就要求把dll程序的工程添加到应用程序的工作区中。为了能够调试dll程序,两个工程都是用相同版本的Debug。在【Project】—>【Settings】对话框的“Link”标签下选中“Generate debug info”。在【Project】—>【Settings】对话框的“Debug”标签下,“Category”选择“Additional DLLs”,将要调试的dll文件加入其中。同时,在【Project】—>【Settings】对话框中选择应用程序的工程依赖于dll的工程,在dll程序调用时,编译用户应用程序,可以根据文件新旧比较把dll的工程也编译连接。dll工程调用后,编译连接生成新版本调试信息,为了操作方便可以在dll工程的“Project Settings”对话框中的“Post-Build Step”标签下加上将编译好的dll复制到应用程序访问到的目录的一个命令。每编译一次,就要执行一次这个命令,将最新生成的dll文件提交给应用程序是用。
通过上面的设置就可以通过应用程序来对dll程序进行调试了,在调试过程中,可以从应用程序单步跟踪到dll工程中,在dll中设置断点,在应用程序中调用dll,执行到此时,也会中断,从而达到了调试的目的。