高分求教:DLL是否可以单步调试!

tr821021 2008-04-23 02:18:05
如果可以单步调试,请问下该如何做,用MESSAGEBOX调试不用讲了,除了这种还有没有单步调试的办法!~
请举例说明下,谢谢!~
...全文
140 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flm007 2008-04-23
  • 打赏
  • 举报
回复
方法①: 对DLL的工程DEBUG,
在DLL工程的Project Setting->Debug->Executable for debug session中加入你的.exe的路径和名字。
可以在dll中设置断点,.exe程序必须要调用dll中函数。

方法②: 有个更好的方法:(我也没试过)在settings/debug中category选additional dlls,
然后将你要调试的dll加进来。这样,即使你用loadlibrary动态加载dll,也可以加断点了。

在VS.net的测试中,还可以同时调试exe程序,调试dll实在系矛得弹。

cnzdgs 2008-04-23
  • 打赏
  • 举报
回复
调试DLL与EXE的唯一差别就是需要设置一个EXE程序来加载这个DLL。
飞天舞 2008-04-23
  • 打赏
  • 举报
回复
可以加一个测试的EXE程序,进行单步调试跟踪.
不过编译时工程要设置一下.
  • 打赏
  • 举报
回复
你先写一个exe程序调用dll
然后按照ls的说法。下断点就能够调试了
HeroAlur 2008-04-23
  • 打赏
  • 举报
回复
库的调试与查看

  由于库文件不能单独执行,因而在按下F5(开始debug模式执行)或CTRL+F5(运行)执行时,其弹出一个对话框,要求用户输入可执行文件的路径来启动库函数的执行。这个时候我们输入要调用该库的EXE文件的路径就可以对库进行调试了,其调试技巧与一般应用工程的调试一样。

  通常有比上述做法更好的调试途径,那就是将库工程和应用工程(调用库的工程)放置在同一VC工作区,只对应用工程进行调试,在应用工程调用库中函数的语句处设置断点,执行后按下F11,这样就单步进入了库中的函数。

  上述调试方法对静态链接库和动态链接库而言是一致的。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧