【Dll调试】DLL调试方法

dll本身是没法运行的,必须在其它工程调用dll时候才会运行。

所以,调试dll首先要将调用dll的工程和dll工程联系起来。

解决方案中添加dll工程:

现在dll 和 应用程序两个工程就都在一个解决方案里了:

这时要对dll工程作些设置。

配置属性-常规-输出目录设置为 应用程序的生成目录 (调用dll的应用程序的目录?)

这样一来编译的dll、pbd文件就直接输出到对应应用程序的生成目录下面了

扫描二维码关注公众号,回复: 5031556 查看本文章

接下来依据一些文章说法,要在dll工程的属性配置:

调试中做些设置,

1、命令->写入应用程序的生成目录(exe目录)

2、命令->参数加入dll对外接口名。

但经我实验,不做这些设置也可以调试。

最后切记,一定要是debug模式才行!

我就是一直配置为release模式,一直没法进入dll工程断点浪费了很多时间。

转自:https://www.cnblogs.com/rixiang/p/8405351.html

DLL有三种调试方法:

       方法1:

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

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

   方法2:

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

                

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

方法3:

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

需要三个步骤如下:

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

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

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

 

猜你喜欢

转载自blog.csdn.net/bandaoyu/article/details/86496247