如何使用vs2008 C#程序联合调试C++dll
2016-07-29 · 知道合伙人生活技巧行家
关注
展开全部
对DLL的调试是一个热门话题,上网搜索了一下,发现很多相关的信息,但几乎全部是没有进行验证的摘抄,很鄙视这种行为。所以我在浏览的一些国外的网站后,结合自己的经验写下我在vs 2008编译平台上调试DLL的方法。按照我描述的方法如果你还不能在DLL里打断点进行调试的话,那就找块板砖,拍我,或者拍你自己!
在 C++ 项目中指定调用应用程序
在“解决方案资源管理器”中选择 DLL 项目。
从“视图”菜单中,选择“属性页”。
在“Project 属性页”窗口的“配置”下拉列表中,选择“调试”。
打开“配置属性”文件夹并选择“调试”类别。
在“要启动的调试器”列表框中,选择“本地 Windows 调试器”或“远程 Windows 调试器”。
关键是第六条和第七条,这才是这个方法的精髓部分。
6. 在“命令”或“远程命令”框中,单击下拉箭头,并从列表中选择“浏览”以浏览指定应用程序,或键入应用程序的路径和名称。
方法:在“命令”中输入rundll32.exe。
7. 在“命令参数”框中键入所有需要的程序参数。
方法:在“命令参数”框输入 $(TargetFileName) XXX,其中XXX表示你DLL导出函数的函数名。
在“工作目录”框中输入 $(OutDir) 。
其实“命令参数”和“工作目录”两个框是可以通过点击来进行设置的,由于设置时描述麻烦,就直接输入好了,有兴趣的朋友可以试试怎么设置,设置过程并麻烦的!
好的,设定部分结束了,这是你可以在代码里设定断点,按F5,就可以运行了,这时候会弹出一个对话框,说rundll32.exe不能找到,不用理他,点击“是”按钮,继续运行!看看是不是到你的断点处停了下来?
在 C++ 项目中指定调用应用程序
在“解决方案资源管理器”中选择 DLL 项目。
从“视图”菜单中,选择“属性页”。
在“Project 属性页”窗口的“配置”下拉列表中,选择“调试”。
打开“配置属性”文件夹并选择“调试”类别。
在“要启动的调试器”列表框中,选择“本地 Windows 调试器”或“远程 Windows 调试器”。
关键是第六条和第七条,这才是这个方法的精髓部分。
6. 在“命令”或“远程命令”框中,单击下拉箭头,并从列表中选择“浏览”以浏览指定应用程序,或键入应用程序的路径和名称。
方法:在“命令”中输入rundll32.exe。
7. 在“命令参数”框中键入所有需要的程序参数。
方法:在“命令参数”框输入 $(TargetFileName) XXX,其中XXX表示你DLL导出函数的函数名。
在“工作目录”框中输入 $(OutDir) 。
其实“命令参数”和“工作目录”两个框是可以通过点击来进行设置的,由于设置时描述麻烦,就直接输入好了,有兴趣的朋友可以试试怎么设置,设置过程并麻烦的!
好的,设定部分结束了,这是你可以在代码里设定断点,按F5,就可以运行了,这时候会弹出一个对话框,说rundll32.exe不能找到,不用理他,点击“是”按钮,继续运行!看看是不是到你的断点处停了下来?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询