最近在研究Delphi 6的东西,前人写的代码中使用了DLL,有静态的也有动态读取的,调试中始终无法找到进入DLL代码内部调试的方法,试了几天,也参考了网上很多的方法,最后终于在一个外文网站上找到,下面总结下方法,算一半翻译一半总结吧,应该说是100%能进去调试,以下是关于动态读取DLL时候调试的详细的步骤:
DLL程序设置:
run->Pararneters里边设置local->Host application为调用dll的应用程序
然后开始调试DLL 或者APP
调试开始以后在LoadLibrary之后打断点,注意是应用程序里
断点到了之后,View->Debug Windows->Modules,在你的exe里面右键点出菜单,选择Add Modules,然后把你调试DLL选上
到Modules list最后,找到你新加的DLL,然后右键点出菜单,选Reload Symbol table...,把实际运行的你编译的DLL选上,OK,搞定,然后你可以看到DLL代码已经打上断点调试
关于静态方式读取DLL调试方法类似,APP一启动就可以直接去找Modules,然后Reload Symbol table就可以了。
需要注意几点:
第一:DLL输出目录应该设置到你的程序运行目录,比较不容易搞混乱
第二:Reload Symbol table选择的DLL必须是你输出的DLL,这样调试符号才会正确
完毕,在Delphi上是绝对的新手,欢迎各位拍砖!
无聊客
2008.1.15
发表于 @ 2008年11月15日 11:27:00 | 评论( loading... ) | 举报| 收藏