读书人

dll注入到目标程序后怎么调试dll设

发布时间: 2013-01-06 15:44:47 作者: rapoo

dll注入到目标程序后,如何调试dll,设置断点无法断下
编写了个b.dll,用a.exe来做主机应用程序,通过a.exe 把 b.dll 注入到了 c.exe,可是,没法调试b.dll,在源码里下断无法断下,请教各位朋友,要怎么设置才能调试呢,实在郁闷。
[解决办法]
这样肯定调试不了,你这样下的断点,对于当前的EXE有用而已。你要调试被注入的EXE,除非你用第三方的调试工具加载,再下断点,不过这样看到的只是反汇编出来的代码哦。。。建议你还是在当前的EXE里面模拟测试好点。
[解决办法]
OD调试吧
[解决办法]
开DLL所在工程,设置好host exe, 断点,调试,OK
[解决办法]
dll可以调试的啊,网上也有文章的啊,还是我理解错你的意思了啊。我用2010调试过,打开dll的dpr文件,run-Parameters-Host application 选上你的应用程序.exe,在dll里下断点运行即可
[解决办法]
一、DLL调试方法:

(1)、[Project-->Add Existing Project...]将DLL和宿主程序(就是使用本DLL的程序)添加到一个工程组中,可以同时调试DLL和宿主程序。

(2)、 [Run-->Parameters... ]在Host Application中填入宿主程序的完整路径然后选择
[ Project
[解决办法]
Options.. ]选择Directories/Conditionals页面在Output directory中填入宿主程序所在目录(这是将编译的DLL程序输出到宿主程序所在目录下),然后就可以按运行(F9)来运行程序,在你需要观看的地方加入断点(F5),如正常使用的操作主程序,调用你的函数/过程的时候就会在你的断点处停下,可单步执行。按Ctrl + F7可以加入变量观察。有一招在DLL的工程文件选项中
ProjectOptionsLinkerEXE and DLL Options
把Include TD32 debug Info和Include remote debug symbols勾上试试。

如上是复制的, dll是可以源码调试的, run下的attach to proess 也可以的。


[解决办法]
在dll中创建内存映射,将信息存入内存映射中,
向接收程序发送消息,接收程序读取内存映射,在列表中显示消息,
类似dbgview,代替messagebox
我都是这么做的
[解决办法]
OD吧,调试功能强大。如果以前没接触过OD,又时间不赶的话,花一两天熟悉一下吧。
[解决办法]
这种调试用 OutputDebugString 输出, debugview查看日志就行了
messagebox 有时候会卡死

读书人网 >.NET

热点推荐