如何:从 DLL 项目进行调试

如何:从 DLL 项目进行调试,第1张

调用 DLL 的调用应用程序是用托管代码编写的,而 DLL 是用本机代码编写的。注意显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于现用设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见Visual Studio 设置。在调用托管 DLL 的本机 EXE 中启用混合模式调试在“解决方案资源管理器”中选择项目。在“视图”菜单上,单击“属性页”。在“<Project 属性页”对话框中,展开“配置属性”节点,然后选择“调试”。将“调试器类型”设置为“混合”或“自动”。在调用本机 DLL 的托管 EXE 中启用混合模式调试在“解决方案资源管理器”中选择项目。在“视图”菜单上,单击“属性页”。在“属性页”中,单击“调试”选项卡。在“启用调试器”组下,选中“启用未托管代码调试”复选框。

DLL有三种调试方法:

方法1:

如果动态链接库是自己编写的,并且测试代码也是自己编写的,那么此时我们可以将动态链接库和测试代码的工程建立在一起,在调试测试代码的时候,可以直接调用动态链接库中的代码。

我们在测试链接库项目中的100行打个断点,当执行到此处的时候,按F11就会进入到动态链接库项目中的源码中,就可以进行调试了。

方法2:

如果动态链接库是自己编写的,而调用动态链接库的程序不是自己编写的,那么我们需要设置动态链接库中的项目属性,启动调用动态链接库的程序,形成链接之后,在调试的时候才可以数你在动态链接库中调试。如下图:

在项目属性的调试中设置完成对应要启动的exe之后,设置dll为启动项目,即可以运行调试。

方法3:

如果动态链接库不是自己编写,程序也不是自己编写,那么这个时候只能通过Ollydbg或者其他调试工具调试了。使用OD调试dll,需要保证OD目录下有loaddll.exe文件。

需要三个步骤如下:

1)我们可以先借助LordPE获取到导出表中的方法的RVA地址

2)借助OD获取到项目的基址

3)通过基址和RVA计算出来VA,就找到函数了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11137279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存