VC中调用调试自己项目的DLL
2015-06-30 13:02
309 查看
DLL调试有以下3种方法
1.同时使用DLL和应用程序的工程来调试
将2个工程放在一个workspace里,可以使用Project/Insert Project into Wordspace...弹出对话框选择,也可以在打开1个工程的情况下,直接使用File/new...选择Project创建另一个新工程,选中,Add to current workspace
为了调试,2个工程都使用Win32 debug(或者 Unicode Debug)版本,在Project/Settings/link 都选中Generate Debug Info
Project/Settings/debug/Category选择Additional DLLs,添加要调试的Dll文件,Project/Dependencies..选择应用程序的工程以来与Dll的工程,当Dll工程改动后,编译链接生成新版本,为了不经常来回手工拷贝Dll文件,可在Dll工程中的Project/Setting/Post-Build
Step加上诸如 "copy \debug\test.dll app\debug "的命令,这样每编译1次都会自动拷贝。(注意上面的是“\”, 不是“/”!)
如果是隐式链接Dll,需要从Dll中获得导出信息的头文件和编译生成的导入库lib文件。头文件用#include加入,Project/Add to project/Files...加入lib文件
2.使用应用程序的工程来调试Dll
Project/Settings/debug/Category选择Additional DLLs,添加要调试的Dll文件,如果是远程调试(Build/Debugger Remote Connection...中设置),必须给出完整的网络路径。
这个Dll必须是编译成Win32 Debug(或 Unicode Debug)版本的,包含有调试信息,这样尽管Dll的源程序不是这个工程的组成部分,也可以在应用程序和Dll中设置断点。
3.使用Dll的工程来调试Dll
打开Dll工程,Project/Settings/Debug/Category选择General,为这个Dll指定1个可执行程序,可以就是另外开发的的使用该Dll的用户程序。
具体调试过程中,可以从应用程序单步跟踪到Dll中,在Dll中设置断点,在应用程序中调用Dll中的程序,执行到这个断点时,就会中断,便于检查此时Dll的状态。通过改变、设置应用程序执行环境和不同执行路径,为Dll程序调试提供多种检查方式。
1.同时使用DLL和应用程序的工程来调试
将2个工程放在一个workspace里,可以使用Project/Insert Project into Wordspace...弹出对话框选择,也可以在打开1个工程的情况下,直接使用File/new...选择Project创建另一个新工程,选中,Add to current workspace
为了调试,2个工程都使用Win32 debug(或者 Unicode Debug)版本,在Project/Settings/link 都选中Generate Debug Info
Project/Settings/debug/Category选择Additional DLLs,添加要调试的Dll文件,Project/Dependencies..选择应用程序的工程以来与Dll的工程,当Dll工程改动后,编译链接生成新版本,为了不经常来回手工拷贝Dll文件,可在Dll工程中的Project/Setting/Post-Build
Step加上诸如 "copy \debug\test.dll app\debug "的命令,这样每编译1次都会自动拷贝。(注意上面的是“\”, 不是“/”!)
如果是隐式链接Dll,需要从Dll中获得导出信息的头文件和编译生成的导入库lib文件。头文件用#include加入,Project/Add to project/Files...加入lib文件
2.使用应用程序的工程来调试Dll
Project/Settings/debug/Category选择Additional DLLs,添加要调试的Dll文件,如果是远程调试(Build/Debugger Remote Connection...中设置),必须给出完整的网络路径。
这个Dll必须是编译成Win32 Debug(或 Unicode Debug)版本的,包含有调试信息,这样尽管Dll的源程序不是这个工程的组成部分,也可以在应用程序和Dll中设置断点。
3.使用Dll的工程来调试Dll
打开Dll工程,Project/Settings/Debug/Category选择General,为这个Dll指定1个可执行程序,可以就是另外开发的的使用该Dll的用户程序。
具体调试过程中,可以从应用程序单步跟踪到Dll中,在Dll中设置断点,在应用程序中调用Dll中的程序,执行到这个断点时,就会中断,便于检查此时Dll的状态。通过改变、设置应用程序执行环境和不同执行路径,为Dll程序调试提供多种检查方式。
相关文章推荐
- 一个按比特位拷贝数据的函数copybits
- Mac系统之----教你怎么显示隐藏文件,或者关闭显示隐藏文件
- SAT数学试题考查范围
- 飞机机身结构主要分三种,现在大部分飞机都用第三种
- 设计模式学习之——命令模式
- Linux中常用操作命令
- Python seek函数
- 进程间通信--无名管道
- shell学习三十三天----关于重定向
- Welcome to OWASP CHINA — OWASP-CHINA
- oracle分页查询
- oracle 表空间
- JavaWeb学习笔记——开发动态WEB资源(四)打印当前使用的是get方法
- Linux驱动修炼之道-内存映射
- 618电商大促微博营销效果数据分析
- C++改变编程入口为main函数
- Ubuntu安装kali工具包
- 中文热门开源项目Top100
- 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户
- Apache配置虚拟主机