这是不是DELPHI6的BUG?(调试DLL)(50分)

  • 主题发起人 主题发起人 Wjzhou
  • 开始时间 开始时间
W

Wjzhou

Unregistered / Unconfirmed
GUEST, unregistred user!
在D6(其它版本我没试过)调试DLL时,在刚打开IDE和项目,没进行项目更改调试时,能正常进入DLL代码,但在调试一次后并更改了代码再调时就会不正常,不是没法定位相关行,就是没法进入断点上,不管你ReBuild All.但退出IDE再进入又行了.还有有时一定要把DLL的Module加入Debug Windows->Modules才行.
 
那应该是没有正常卸载老版本的DLL吧,我想应该不会吧
你可以试试Close All
 
没用的.DLL是在另一程序(在同一项目组中)中动态用LoadLibrary加载的.
在DLL的Run parameter中设的.
 
Close ALL我早试过了,没用,非要退出IDE不可,害我一天要重起IDE100次.
 
首先确定你的DLL重新编译之后的路径在App的查找范围里面
然后再切换当前工程到DLL重新编译
重新切回App调试
(可能是废话,单请楼主不要急躁,试一试,至少我还没碰到这个问题 D7+XP)
调试简单的DLL可以进行静态调试,就是直接把DLL的代码添加到Project,相应的UNIT
直接应用.PAS
 
不会用的动态调试的后果吧.(感觉是改了DLL代码后再调时调试信息是第一次的,定位不准,明明断点设在这行,它在上几行停了).
DLL就一个,没有什么其它DLL了.
明天试试静态调试...
 
很想用D7,可公司是用D6. 5555.....
不知D7有没有这个问题.
 
你在哪里上班?
 
看看这个,是否能够帮你的忙?
还有,使用Build而不是Comple,以前调试dll的时候没有遇到过你的问题呀。

http://www.delphibbs.com/keylife/iblog_comment.asp?xid=1782

2003-7-28 20:25:55 yysun 发表评论。
前文中说了“ctrl+alt+del 调出来的 task manager 也是闪了一下就自动关闭。”
也就是说,Windows 的任务管理器,一打开就被病毒进程关闭,根本无法不能使用。

Process Exploere 将进程分类为系统进程,用户进程。我的 XP 启动后,用户进程大概只有3-5个,基本都知道是些什么程序在运行,唯独 msvxd.exe 很陌生,不知道是干什么的,网上资料说是木马病毒。

Process Exploere 比 Windows 的任务管理器方便的地方是可以任意杀进程,比如调试 ASP + COM,或者 Delphi 的 ISAPI Extension,DLL 总是被 IIS 锁住了。Windows 的任务管理器是杀不了 inetpub.exe 的,而重新启动 service 有时候往往还报错。那用 Process Exploere 一杀就杀掉了。

另外,Process Exploere 还可以看进程调用了哪些 DLL,占用了多少 handle,可以帮助检查内存泄漏,很多用处 ...

 
试试Delphi 7
 
今天用了一下静态的加载,果然可以!!!
 
不过现在又有一个问题了,实在是伤脑金.
一个FastReport控件一定要Owner是TForm or TDataModule才能工作,而TComponent不能工作,怎么回事?我本想用一个TComponent拥有一个TFrReport,看来行不通了.
 
后退
顶部