DLL怎么设置才能调试 在线等

2025-05-13 22:33:25
推荐回答(2个)
回答1:

您好,很高兴为您解答。

当调试 DLL 时,可以从以下开始调试:

用于创建调用 DLL 的可执行文件的项目。
- 或 -
用于创建 DLL 本身的项目。

如果有用于创建可执行文件的项目,则从该项目开始调试。然后可以打开 DLL 的源文件,并在该文件中设置断点,即使它不是用于创建可执行文件的项目的一部分。
更多信息请参见:https://technet.microsoft.com/zh-cn/library/aa291561

如果从创建 DLL 的项目开始调试,则必须指定在调试 DLL 时要使用的可执行文件。
为调试会话指定可执行文件

在解决方案资源管理器中,选择用于创建 DLL 的项目。
从“视图”菜单中,选择“属性页”。
在“属性页”对话框中,打开“配置属性”文件夹并选择“调试”类别。
更多信息请参见:https://technet.microsoft.com/zh-cn/library/aa302011

定位“命令”(在 C/C++ 中)、“启动应用程序”(C#) 或“启动外部程序”(Visual Basic),并为容器指定路径名称。例如,C:\Program Files\MyApplication\MYAPP.EXE。

定位“命令参数”(C/C++)、“命令行参数”(C#) 或“命令行参数”(Visual Basic),并为可执行文件指定任何必要的参数。

如果不在“<项目> 属性页”对话框中指定可执行文件,则在开始调试时将出现“调试会话的可执行文件”对话框。必须在该对话框中指定调用可执行文件的路径名称。
更多信息请参见:https://technet.microsoft.com/zh-cn/library/44t4z67c

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

回答2:

1、32 位的程序的话,可以使用olldbg 简称od,它有loaddll 。
2、如果DLL是你写的,也就是你有源码,可以在DLL_PROCESS_ATTACH通知中,加上一句断点:
__asm int 3
然后,你写一个exe程序,loadlibrary()直接加载这个DLL文件,你用调试器,载入程序,直接运行,马上就会终断到断点处。
3、别人的DLL,你可以使用动态调试器, 在关键CALL上直接跟进去然后分析就好了。
4、静态反汇编分析,直接用IDA把DLL文件进行二进制分析。。自己看代码吧。