可怜,DELPHI这点的确做得不太好。
曾经我也被整得好惨。
曾经我也被整得好惨。
解决方案 »
- delphi 怎样做个屏幕录制功能?
- 问个关于GDI+画笔的问题
- 有谁用INDY的IdSMTP1成功发送过邮件啊?
- 看了不少这方面的帖子,遇到的问题也很多,谁给个定论~~关于com+的发布
- CLX是什么?
- 如何根据数据库的表的记录建立一颗树?????
- ●●●Delphi在数据操纵方面好像没有PB方便!!!●●●
- 有没开发websnap的同行,大家交流一下开发心得?
- 为什么我的一个普通的后台管理(算MIS的吧,C/S结构的)运行时占了9M的内存? 这么恐怖呀
- 急救:delphi中发布ActiveX控件问题
- type TFieldOrder = set of Integer 怎么会出错,要怎么写
- 怎样将DELPHI的编辑器全屏?
1:在Delphi的环境选项中,在代码搜索路径的项目中,去掉VCL相关的文件,这样应该不会出现跟踪到VCL源码中的情况了。
2:在Delphi定位的代码行(运行中断后)使用Call Stack功能,可以比较容易的选择你自己的函数,看看是哪一条语句出错。
1.我试过了,根本不行;
2.不知道你在说什么?
2.如果是内存泄漏,有专门的工具帮你定位memproof.用google搜索一下即可。
3.最根本的解决办法是在编写任何一个函数或过程时都认真的主要内存的使用和释放。
4.一般来说跟踪到VCL代码中对差错没有什么帮助。
仅是个人意见。
1.我试过了,根本不行;
2.不知道你在说什么?他是说的delphi的一个功能,可以告诉你函数的调用关系,或者说当他运行到vcl内部的语句停下来的时候你可以看到是那个函数调用的这条语句。一层一层的可以看到最早的一个函数,这样总有一个是你的了。
这个功能就在那个可以看汇编源码的菜单旁边。你找找
呵呵,可到 http://www.epocalipse.com/download.htm 去下载! 这个插件感觉用起来还不错,不过可惜是要注册的,可免费使用一个月.你还是去Down个JCL来看吧,这套类库做的还可以,特别是它对调试信息的支持比较好!它在运行时得到类似下面的信息:
[0046A09B] SourceLocDemoMain.TForm1.CallerBtnClick (Line 75, "SourceLocDemoMain.pas" + 1) + $10即,能定位到具体的代码行!!只要你出异常时,把这个信息写入日志, 或者用它你还可能把当时详细的栈信息记下来,如:[0046A188] SourceLocDemoMain.TForm1.StackBtnClick (Line 95, "SourceLocDemoMain.pas" + 4) + $20
[0043BD86] Controls.TControl.Click + $6A
[0043EA7C] Controls.TWinControl.WndProc + $15C
[0043EBB4] Controls.DoControlMsg + $28
[0043EA7C] Controls.TWinControl.WndProc + $15C
[0043E6F7] Controls.TWinControl.MainWndProc + $2F
[00421F9A] Classes.StdWndProc + $16
[0043EB60] Controls.TWinControl.DefaultHandler + $DC
[0043EA7C] Controls.TWinControl.WndProc + $15C
[00421F9A] Classes.StdWndProc + $16
[0046A5C0] SourceLocExample.initialization + $40有了这些信息,相应对你找BUG是有很大帮助了的!!