如何在DLL中设置断点并调试?

rebacca11 2009-12-14 10:18:57
我写了个DLL,想在exe调用这个DLL时,通过DLL中的断点来调试,DLL源码已设置断点,但运行进入该DLL时,DLL
中的断点好像不起作用,想请问大家DLL中怎么通过断点来调试呢~~
...全文
1364 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
swq1982 2009-12-14
  • 打赏
  • 举报
回复
可以跟踪进去的,我通常利用的方法就是首先把利用你的IDE打开你编写的dll的文件,然后在你的调用DLL工程里面把你的dll及lib文件也放入debug文件里,这样你在dll的源文件里设置断点,系统就会自动跟踪进入dll的源文件里了。
lvyinghong 2009-12-14
  • 打赏
  • 举报
回复
在你的dll项目中,开始调试,他会提示选择使用哪个exe来加载的。
如果没记错到话
littlefangMFC 2009-12-14
  • 打赏
  • 举报
回复
可以的,你得先在进入DLL的地方设断点,进入DLL后,可以找到你要设断点的地方设置断点就可以了,如果进入DLL后设断点的地方看不到,就把要设断点的文件直接拖到VC中打开设断点就OK了
bobob 2009-12-14
  • 打赏
  • 举报
回复
dll调试真没啥特殊
实在不会设置,我给你教一招吧~
在你要调试的dll函数哪里加上硬断点:
__asm{
int 3
}
然后把dll编译成debug版本,直接用exe运行就行
程序走到这个地方,会出现一个对话框,提示错误,让你选调试、终止什么的,点调试,就会进入硬断点那里了

我博客里面有调试的基础教程,去看看
rebacca11 2009-12-14
  • 打赏
  • 举报
回复
在exe中调用DLL的地方设置断点是可以进到DLL里,但是这样只能按F10单步调试DLL,我现在是想进入DLL后跳到某个函数处只调试这个函数,应该怎么做呢
kantonwang2007 2009-12-14
  • 打赏
  • 举报
回复
记住一点,调试的dll的文件必须放在exe的同目录下,每次编译改变的dll都要手动copy一次,当然也可以自动copy
bragi523 2009-12-14
  • 打赏
  • 举报
回复
只要保证你Exe中运行的DLL和你的程序完全一样就好了
cs_yingchun 2009-12-14
  • 打赏
  • 举报
回复
你哪个地方调用的函数 把DLL从编译一次 在把DLL放到工程里 从新添加一下
然后在你工程调用DLL内容的地方设置断点 然后按F11 就进去了
用户 昵称 2009-12-14
  • 打赏
  • 举报
回复
一样啊,没什么特别的。
MoXiaoRab 2009-12-14
  • 打赏
  • 举报
回复
在工程中设置就好了
M_S_D_N 2009-12-14
  • 打赏
  • 举报
回复
你应该在exe工程中设置dll的断点。
mengde007 2009-12-14
  • 打赏
  • 举报
回复
已经做好的dll不能设置;你可以用AfxMessageBox把信息打印出来;
  • 打赏
  • 举报
回复
可以啊,你是在dll工程里面设置的么?
vb748 2009-12-14
  • 打赏
  • 举报
回复
学习下~
帮顶~~
程序名称:OllyDBG版 本:1.10汉 化 人:cao_cong联系方式:cao_cong_hx@yahoo.com.cn汉化日期:2005.11.28汉化说明: 本来是想等 OllyDBG 2.0 出来再汉化的,可看到dyk158兄弟的修改版说明对我原来汉化版本的汉化质量提了一点小小的意见,想想也是,我原来的汉化版是OllyDBG 1.10 的最终版本刚出来时汉化的,距今已经一年多了也没有更新过,当时只顾不出因汉化造成的Bug,汉化嘛确实不咋的。看到BoOMBoX/TSRh2004他们制作的美化界面,确实也觉得漂亮,最后决定再出个汉化版本。这个版本的汉化加测试、修改花了我整整两个星期的业余时间,其的非标字符对照文本有4000多行,看一遍都半天。这个版本的所有翻译我都重新过了几遍,绝大部分都重新翻译过,力求做到准确,希望能给大家一个比较完美的汉化版本。在制作过程参考了TT小组翻译的OllyDBG帮助及dyk158修改、聆风听雨汉化的ODbyDYK修改版,主要是想让翻译更准确一点,能让新手把汉化版和TT小组汉化的帮助文档对照起来学习。在此对以上提到的各位表示衷心的感谢! 这个软件汉化起来确实是个苦差事,不光是要翻译的资源多,还有一个重要的方面就是稍不留神就会出现汉化引起的Bug。经常是用原版来调试汉化版找问题,象原来菜单上的“&Window”汉化后会出错,还是调试后才知道原来它内部加载菜单时还有个这个“&Window”,只有两个都汉化才不会出错。另外其它的许多问题都只好靠调试来解决。原来汉化时又没有把要注意的地方写下来,这次光测试就花了好几天。 这个汉化版本除因汉化必要而打补丁外,我不准备再对它打任何补丁。一是我怕打补丁影响 OllyDBG 的兼容性;二是已经有Fly和dyk158他们做了,我想我自己再做的话也不会比他们做的更好;三是我实在是感到太累了!如果大家要想要修改的版本的话,推荐使用freecat兄弟制作的AutoPath,我把这个插件放在 FixOD 目录下,我把freecat兄弟发布时所用的说明也放在同一目录下,大家可以根据说明来使用这个插件改造你的OllyDBG。 在这里我要感谢看雪论坛上的看雪老大和论坛上各位兄弟的支持,正是有了他们的测试和建议,经过多次修正后,才有了今天的这个最终版本,由衷的感谢看雪论坛上的各位兄弟!汉化第二版主要更新:1、界面采用 BoOMBoX/TSRh2004 制作的美化界面,主要为了好看一点。2、绝大部分句子都重新翻译过,力求做到准确。3、配置文件除字体、语法高亮、颜色这几个部分保留为文外,其它的都恢复为英文。保留字体、语法高亮、颜色这几个部分为文的目的是因为我发现若先运行过英文版配置好后,汉化版对应这几个部分的一些菜单也会取原英文版配置的英文字串,而不是汉化过的字串。我觉得翻译后既能保持与英文版的兼容性,又能让英文版与文版的界面等互不干扰。4、dyk158 建议我把配置文件的字体、语法高亮、颜色这几个部分恢复为英文,我专门做了个恢复为英文配置的补丁(如果你以前运行过英文版进行了相应配置,则补丁后的汉化版本对应这几个部分的相应菜单将会显示英文,若你是用打过这个补丁的汉化版本生成配置文件,则相应菜单将会显示文)放在英文配置补丁目录下,需要字体、语法高亮、颜色这部分也用英文配置的朋友可以把这个补丁放到我做的汉化版的安装目录,选择 Ollydbg.exe 补丁就可以了。这个补丁同样适用于原版界面的汉化版本。5、上一版部分未汉化的内容这次除了不能汉化的外,基本上都已汉化。6、另有一个界面未作美化的汉化版放在原版界面目录,可以按自己的喜好选择使用哪一个。7、FixOD 目录下放的是用 freecat 的 AutoPath.dll 打过补丁的 OllyDBG,使用前请先备份好你原来的Ollydbg.exe文件,再把这个目录下的Ollydbg.exe、AutoPath.dll、AutoPath.ini复制到你的OllyDBG安装目录下就可以了。在上一版的基础上,插件做了如下更新:1、脚本插件 ODbgScript.dll (v1.23 汉化版)2、快捷命令插件 CmdBar.dll (v3.10.109c 汉化版,这个版本有支持运行 OllyScript 脚本的命令:OSC)3、标签插件 Labeler.dll (v1.33.108 汉化版)4、图表插件 OllyFlow.dll (v0.71 汉化版,我从IDA提取了个wingraph32.exe放在插件目录下,用于配合这个插件)5、断点管理 olly_bp_man.dll (汉化版,在我机器上不能用,放在备用目录)6、字串参考修改版本 ustrrefadd.dll (汉化版)另外还添加了dyk158 汉化的两个插件:1、脱壳插件 OllyDump.dll (V3.00.110 dyk158 汉化版)2、脱壳插件 pedumper.dll (v3.03 dyk158 汉化版) 推荐大家试用一下这两个插件:ApiBreak 插件,用于在对话框、字串、注册表、时间、内存等 API 函数上设置断点,还可设置万能断点,简单易用;GODUP 插件,包含 Map 载入器、资源查看器、进程查看器、IDA 签名载入程序及自带的一个记事本这五个工具。感觉它自带的记事本用来在调试时记一些东西比较方便。 如果你以前没用过OllyDBG的话,我要提醒你使用前先在菜单的 选项->界面->目录 把插件和 UDD 的路径设置好,以免影响使用! 此汉化版的插件除了一个 PuntosMagicos.dll 插件没汉化外(我实在是弄不懂是哪国语言),其它的插件都已汉化。目录下的OLLYDBG.HLP帮助文件是由TT小组翻译的文帮助,在此对TT小组的辛勤劳动表示感谢!(OLLYDBG_EN.HLP为原版英文帮助)声明: 1.本汉化软件包内的所有英文及其他语言的源程序的版权归原作者(公司)所有。 2.本人不对使用本汉化软件造成的任何情况的损失负责。 3.本汉化软件仅供学习研究之用。严禁用于商业用途。本人不对使用本汉化软件造成的任何法律纠纷负责。 4.如果你对本汉化软件有什么建议请联系我。 5.请在转载时保留此汉化版的完整性。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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