点击文件就可,如果不能运行
1、打开电脑管家找到工具箱;
2、打开工具箱找到“电脑诊所”
3、打开电脑诊所后在右上角的搜索内输入dlL找到需要修复的文件后点击一键修复或者可以点击详情查看原因并点击立即修复。
对DLL的调试是一个热门话题,上网搜索了一下,发现很多相关的信息,但几乎全部是没有进行验证的摘抄,很鄙视这种行为。所以我在浏览的一些国外的网站后,结合自己的经验写下我在vs
2008编译平台上调试DLL的方法。按照我描述的方法如果你还不能在DLL里打断点进行调试的话,那就找块板砖,拍我,或者拍你自己!
在
C++
项目中指定调用应用程序
在“解决方案资源管理器”中选择
DLL
项目。
从“视图”菜单中,选择“属性页”。
在“Project
属性页”窗口的“配置”下拉列表中,选择“调试”。
打开“配置属性”文件夹并选择“调试”类别。
在“要启动的调试器”列表框中,选择“本地
Windows
调试器”或“远程
Windows
调试器”。
关键是第六条和第七条,这才是这个方法的精髓部分。
6
在“命令”或“远程命令”框中,单击下拉箭头,并从列表中选择“浏览”以浏览指定应用程序,或键入应用程序的路径和名称。
方法:在“命令”中输入rundll32exe。
7
在“命令参数”框中键入所有需要的程序参数。
方法:在“命令参数”框输入
$(TargetFileName)
XXX,其中XXX表示你DLL导出函数的函数名。
在“工作目录”框中输入
$(OutDir)
。
其实“命令参数”和“工作目录”两个框是可以通过点击来进行设置的,由于设置时描述麻烦,就直接输入好了,有兴趣的朋友可以试试怎么设置,设置过程并麻烦的!
好的,设定部分结束了,这是你可以在代码里设定断点,按F5,就可以运行了,这时候会d出一个对话框,说rundll32exe不能找到,不用理他,点击“是”按钮,继续运行!看看是不是到你的断点处停了下来?
1、如果是自己编写的DLL库,可以在DLL源码中加入断点指令,比如c语言可以借助于内联汇编int3来进行中断。
2、如果是一个单纯的DLL库,可以通过loadlibrary这个函数来加载dll文件 ,然后进入 dll程序的领空后再进行设置。
一:打开腾讯电脑管家,找到工具箱-电脑诊所。
二:点击软件问题专区。
三:在丢失dll文件一键修复区,找要修复的dll文件选项。
四:点击立即修复,便可以恢复正常了
仅仅是为了方便调试?
没人会为了方便调试这样做的。一般常见的两种调试办法,一个是专门的DLL tester工具;一个是比较常用的,
在同一个解决方案里面添加一个project,这个project就是调用dll的所有函数的exe程序,可以是简单的对话框,可以是任何和dll适应的简单界面都ok
DLL是你写的吗?
打开你的DLL工程,编译、连接并生成可执行文件。
通过菜单Run|Parameter ,
在其中的Local|Host Application中定位应用程序的可执行文件名。
按下ok后就可以在DLL工程的各个文件中设置断点或者单步执行。
A、去下个XXdll,下好后打开系统盘,找到windows文件夹,打开后找到system32打开,把XXdlll放进去。这个DLL上百度一下就有得下的了。
B、打开腾讯电脑管家的电脑诊所之后,搜缺失的dll文件,会自动出来,点立即修复。重启电脑后就可以了。
以上就是关于如何用windbg调试因需加载的DLL全部的内容,包括:如何用windbg调试因需加载的DLL、在VS2008 C++中如何调试 DLL工程、如何在DLL中设置断点并调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)