VS(Visual Studio)调试dll详细过程记录

      在我们写的程序中有时候调用dll,并且需要跟踪dll中的函数,此时直接调试调用dll的工程是无法跳进dll的函数的,此时我们可以启动dll工程 来跟踪程序的走向。注意:要有dll的工程,也就是由其源代码,因为我们要在源代码里面打断点。具体步骤如下:

                 ------------------------------------------------------------------------------------------------------------------------------------------
                        在这里有两个工程:一个是产生dll的工程:FastStrDLL     ------------------用来调试的工程                       
                                                           一个是调用dll的工程:DllReuse         -----------------提供调用dll的exe文件          
               ------------------------------------------------------------------------------------------------------------------------------------------
 1.将调用dll的工程(DllReuse)目录下的Debug目录下产生的exe文件拷贝到产生dll的工程(FastStrDLL)的Debug目录下:
     注意:这一步很关键,否则会出现问题。
2.打开产生dll的工程(FastStrDLL)-->右键工程-->属性-->调试,然后按如下配置:
                  

3.在dll工程源代码中设置断点按F5开始调试成功:(断点位置只要程序能走到就行)
 

如果您在 Visual Studio 2022 中调试 DLL 时发现断点无法进入,请确保您已经进行了以下步骤: 1. 确保 DLL 项目已经以调试模式进行构建。在解决方案资源管理器中,右键单击 DLL 项目,选择 "属性"。在属性页中,选择 "配置属性" -> "常规",确保 "配置类型" 设置为 "动态库(.dll)",并且 "调试信息格式" 设置为 "调试"。 2. 确保您的应用程序正确加载了 DLL。在 Visual Studio 中,您可以通过在 "调试" 菜单中选择 "附加到进程" 来手动附加到正在运行的应用程序。选择您的应用程序进程,并点击 "附加" 按钮。 3. 确保您设置了正确的断点。在 DLL 项目的代码中,单击行号旁边空白处设置断点。确保您设置断点是在实际会执行的代码行上。 4. 如果您的 DLL 是由另一个应用程序加载的,而不是直接运行的,那么请确保您在正确的环境下进行调试。有些应用程序可能会以不同的用户权限或沙盒环境运行,这可能会导致断点无法进入。您可以尝试以管理员权限运行 Visual Studio 或目标应用程序,或者将目标应用程序的启动路径设置为可访问的路径。 5. 确保您的代码没有被优化。在 Visual Studio 中,您可以在 DLL 项目的属性页中的 "配置属性" -> "C/C++" -> "优化" 下,将 "优化" 选项设置为 "无(/Od)",以确保代码没有被优化,从而使断点能够进入。 如果您仍然遇到断点无法进入的问题,建议检查您的代码和项目配置是否正确,并尝试重启 Visual Studio 和目标应用程序。有时候,重新构建项目和清理解决方案也有助于解决此类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值