Delphi7的开发调试技巧及快捷键.docx
- 文档编号:2555860
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:9
- 大小:21.85KB
Delphi7的开发调试技巧及快捷键.docx
《Delphi7的开发调试技巧及快捷键.docx》由会员分享,可在线阅读,更多相关《Delphi7的开发调试技巧及快捷键.docx(9页珍藏版)》请在冰点文库上搜索。
Delphi7的开发调试技巧及快捷键
(转Delphi7的开发调试技巧及快捷键
Delphi开发的调试技巧
1、设置调试选项
Delphi主菜单。
【Project】->【Options】,或单击工程管理器中的【ProjectOptions】按钮。
显示ProjectOptions,选择Complier
<1>选中DebugInformation:
把调试信息嵌入到DCU单元文件,会加大编译后的DCU文件,但不会影响最后生成的exe的大小和执行速度。
同时激活【Search】菜单中的【FindError】命令。
当文件中包含调试信息并得到一个运行时错误(run-timeerror,记录下Delphi提供的16进制地址,在【Search】->【FindError】中输入,Delphi将重新编译程序,并停留在产生错误的命令行。
<2>Localsymbols:
决定调试器能否看到在Implementation中定义的局部变量。
<3>Referenceinfoj选项/DefinitionOnly选项
是否产生应用程序中对象标识符的引用信息。
信息和对象代码存在dcu文件中,可以使用对象浏览器查看。
如果DefinitionOnly选项同时选中,编译器将生成标识符定义位置的信息,能够激活对象浏览器的Refenrence页。
如果不选,Dcu文件更小。
编辑器命令
{$D}DebugInformation
{$L}LocalInformation
{$Y}SymbolInformation
{$C}Assertions
2、使用内部调试器
<1>命令行参数
在【Run】->【Parameters】中设置
<2>断点
条件断点
使源代码断点只有在满足某个条件时才有效。
在【View】->[Debugwindows]->【BreakPoints】打开“BreakPointList”对话框,右击断点,从弹出菜单中选择属性。
打开“SourceBreakPointProperties”对话框,在Condition中输入条件,在对话框中点击按钮【Advanced】,可以设置更多选项,“IgnoreSubsequentExceptions”使调试程序遇到下一个断点时不中断;选中“HandleSubsequentException”则调试程序遇到下一个断点时恢复默认性能。
也可以通过【Run】->【AddBreakPoint】设置。
数据断点
特定地址的内存被修改时才使程序挂起。
【Run】->【AddBreakPoint】->【DataBreakPoint】命令添加,或者在BreakPointList对话框中右击,选择AddDataBreakPoint。
输入监测内存区域的开始地址和长度(字节数
地址断点
特定地址的代码执行时就使程序挂起。
通常在CPU窗口中设置。
模块加载地址
在一个模块加载时使程序挂起。
【Run】->【AddBreakPoint】
断点组
使用断点组,任何一个断点都能设置成使其他断点有效或无效,可以通过断点算法来查找特殊的错误。
3、单步执行
【StepOver】(F8功能键,【TraceInto】(F7功能键,【RuntoCursor】(F4功能键
临时使程序暂停【ProgramPause】。
Ctrl+F5【AddWatch】,Ctrl+F7【Evaluate/Modify】
4、其他工具
<1>DebugInspector适合查看由许多数据组成的复合数据,诸如类和记录。
单击省略号按钮,可以修改数据的值。
<2>计算和修改Evaluate/Modify,可以改变变量的值,但不能访问超出域外的函数和变量。
<3>访问调用栈【View】->【DebugWindows】->【CallStack】,可以看到函数和过程的调用情况及传递给他们的参数。
<4>查看线程,如果应用程序运行了多线程,可以通过【View】【DebugWindows】【Threads】查看线程的状态,可以查看某一线程的源代码,选择当前线程。
(ctrl+alt+t
<5>事件日志
记录调试期间发生的事情。
【View】【DebugWindows】(ctrl+alt+v,可以在【Tools】【DebuggerOptions】对话框“Debugger”选项组或事件日志的本地菜单配置事件日志功能。
记录的事件包括:
进程开始、终止、模块加载断点、发给应用程序的Windows消息以及使用OutputDebugString(的输出。
<6>模块视图
获取所有加载到应用程序进程中的模块。
(ctrl+alt+m
在过程、函数、事件内部,SHIFT+CTRL+向上的方向键可跳跃到相应的过程、函数、事件的定义.相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键可跳跃到具体过程、函数、事件内部
CTRL+SHIFT+C:
编写申明或者补上函数.
如:
procedureTT.A(AA:
string;//函数申明
安下:
CTRL+SHIFT+C后,会写上
procedureTT.A(AA:
string;
begin
end;
SHIFT+CTRL+E显示EXPLORER
crtl+shift+n(n=1,2,3,4......
定义书签
crtl+n(n=1,2,3,4......
跳到书签n
ALT+鼠标左键可以块选代码,删除对齐的重复代码非常有用。
Ctrl+BBufferList窗口。
Ctrl+I同Tab键。
Ctrl+M同Enter键。
Ctrl+N同Enter键,但光标位置保持不变。
Ctrl+T删除光标右边的一个单词。
Ctrl+Y删除光标所在行。
Ctrl+Shift+↑光标在函数体内时,将光标快速移至当前函数声明处。
Ctrl+Shift+↓光标在函数声明行时,将光标快速移至函数定义处。
Ctrl+Shift+C声明一个过程或函数后,直接生成过程或函数的名称、begin、end;Ctrl+Shift+E光标在Edit窗口和Explorer窗口间切换。
Ctrl+Shift+J弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句。
Ctrl+Shift+T在光标行加入To-Do注释。
Ctrl+Shift+Y删除光标之后至本行末尾之间的文本。
Ctrl+F3CallStack窗口。
Ctrl+F4等于File菜单中的Close项。
Ctrl+鼠标转轮加速滚屏。
Shift+F8调试时弹出CPU窗口。
Shift+F10等于鼠标右键(Windows快捷键。
Alt+F4关闭所有编辑框中打开的源程序文件,但不关闭项目。
CTRL+ENTER定位到单元文件
Shitf+箭头选择
如果同时按住Alt+Shitf+箭头,再进行选择,则是一种区域选择,而不是行选择,粘贴的时候也就是插入粘贴了.
F9运行
CTRL+F9编译
F8STEPOVER(步进式调试不进入子过程
F7TRACEINTO(步进式调试同时追踪进入子过程
F11,F12切换EDITOR,INSPECTOR,FORMDESIGNER.
CTRL+ALT+F11弹出工程管理器
CTRL+F弹出查找对话框
CTRL+R弹出替换对话框
CTRL+Shitf+C类过程代码补全(只要在定义部分定义一过程或一函数头则自动帮你生成实现部分的套架;反之也成
但是DELPHI中怎样跳格呢?
其实也是有办法的,就是CTRL+K,I向后,CTRL+K,U向前.有时候反复输入什么东西是不是很繁?
CTRL+SHIFT+R录制键盘宏,比如我经常做的就是:
下箭头-下箭头-HOME-回车-CTRL+V,再键入一次CTRL+SHIFT+R录制完成,之后您可以使用CTRL+SHIFT+P,重复宏,还是省了一些事的.
另外在DELIPHI中有一个很有用的快键极其有用
这就是CTRL+J;列如:
在一过程中你输入ifb后再按CTRL+J你回去看看效果吧,可能你会大
吃一惊。
这就是CodeInsight.
ctrl+shift+u//块缩进/反缩进
ctrl+shift+i
取消书签:
在书签N处,再按一次SHIFT+CTRL+N
Ctrl+E一种查找挺好的,其余的都被你们说玩了
按住Ctrl再点对象、过程、函数,转到其定义原型,即便是DelphiVCL源代码中的Unit。
ALT+F4关闭DELPHI[:
D]
Ctrl+K+O,Ctrl+K+N将选中的整块代码都转为小写或大写
Ctrl+F查找
Ctrl+L继续查找
在Inspector,可以用Ctrl+Tab切换Properties页和Events页
Ctrl+Enter可进入相应的设置,如在Preperties页的Font按Ctrl+Enter
在Events中按Ctrl+Enter可进入相应代码编辑
Ctrl+Shift+i:
同时推进2格
Ctrl+Shift+u:
同时退后2格[/red]
还有一招,我经常用的,不知大家常不常用
按住ALT用鼠标选择文本
或者按住ALT加SHIFT,用方向键选择文本
没试过就赶快去试试!
[:
D]
在form上放一个tedit控件,然后在代码中写入“edit1.”,稍等一下,会出现提示。
在“edit1.”未写入前,要想使用这个提示功能,可以按住windows键,然后按空白键。
(只有windows键盘可以用此功能!
CTRL+SPACE与输入法冲突,把输入法的有无输入法快捷键从CTRL+SPACE该为其他键组合就行了,我是改成了CTRL+SHIFT+SPACE.
然后在UNIT中,比如输入fo这是按下CTRL+SPACE就会出现一系列以fo开头的变量,函数。
Ctrl+Backspace后退删除一个词。
好像是到.为止。
在objectinspector窗口按tab键将光标移动到属性名区,然后键入属性名的开头
字母可快速定位到该属性
------------------------------------------------------------------------
一、以下快捷键指的是对窗体表格上组件的操作:
●快捷键1:
【Ctrl+UP】~向上移动当前组件(精确;
【Ctrl+Left】~向左移动当前组件(精确;
【Ctrl+Down】~向下移动当前组件(精确;
【Ctrl+Right】~向右移动当前组件(精确;
注:
以上快接键中再加Shift进行组合(比如【Ctrl+Shift+Right】即可实现粗略调整;●快捷键2:
【Shift+UP】~减小当前组件的高度;
【Shift+Left】~减小当前组件的宽度;
【Shift+Down】~增加当前组件的高度;
【Shift+Right】~增加当前组件的宽度;
注:
以上Up,Left等指的是方向键;
二、以下快捷键指的是在对象观察器上的操作:
●快捷键3:
【F11】~切换到对象观察器(注:
如果连续按F11则将实现在对象观察器、窗体表格、代码编辑器之间切换;
【Ctrl+Down】~下拉当前窗体的组件列表;
【Ctrl+Enter】~编辑带...的属性值(如组件的字体TFont;
【Alt+Down】~下拉组件当前属性选单队列(如Align->alNone,alLeft,alRight等;【Ctrl+Tab】~在属性列表及事件列表中切换;三、菜单快捷键:
菜单快捷键:
●快捷键4:
【F12】,【Shift+F12】,【Ctrl+F12】等在Delphi的菜单中已有定义的在此不必罗嗦.技巧:
如何选择被组件覆盖了的窗体(比如某组件的Align属性为alClient?
方法一、按ESC键,一层一层的往后选,直到窗体被选为当前组件为止;方法二、按Shift的同时单击鼠标左键,一步即可选定(推荐);方法三、F11选定对象观察器,然后切换到属性列表,再用上面快捷键3中的按【Ctrl+Down】Ctrl+UP向上移动选中组件(微调;Ctrl+Left向左移动选中组件(微调;Ctrl+Down向下移动选中组件(微调;Ctrl+Right向右移动选中组件(微调;Shift+UP减小选中组件的高度;Shift+Left减小选中组件的宽度;Shift+Down增加选中组件的高度;Shift+Right增加选中组件的宽度;Ctrl+鼠标拖动可以选中一个控件上层的其他控件而不选中其本身!
DELPHI中的快捷方式一览(完全正式版1.SHIFT+鼠标左键先选中任一控件,按键后可选中窗体(选中控件后按Esc效果一样2.Shift+F8调试时弹出CPU窗口。
3.Shift+F10等于鼠标右键(Windows快捷键)。
4.Shitf+箭头选择5.shift+F12快速查找窗体并打开6.F7(步进式调试同时追踪进入子过程)7.F8(步进式调试不进入子过程)8.F9运行9.F12切换EDITOR,FORM10.Alt+F4关闭所有编辑框中打开的源程序文件,但不关闭项目11.ALT+鼠标左键可以块选代码,用来删除对齐的重复代码非常有用12.Ctrl+F9编译13.Ctrl+shift+N(n=1,2,3,4......定义书签14.Ctrl+n(n=1,2,3,4......跳到书签n15.CTRL+SHIFT+N在书签N处,再按一次取消书签16.Ctrl+PageUp将光标移至本屏的第一行,屏幕不滚动17.Ctrl+PageDown将光标移至本屏的最后一行,屏幕不滚动18.Ctrl+↓向下滚动屏幕,光标跟随滚动不出本屏19.Ctrl+↑向上滚动屏幕,光标跟随滚动不出本屏20.Ctrl+Home将光标移至文件头21.Ctrl+End将光标移至文件尾22.Ctrl+BBufferList窗口23.Ctrl+I同Tab键
24.CTRL+J码模板25.Ctrl+M26.Ctrl+N27.Ctrl+T28.Ctrl+Y29.CTRL+C30.CTRL+V31.CTRL+X32.CTRL+Z33.CTRL+S34.Ctrl+F35.Ctrl+L36.Ctrl+r37.CTRL+ENTER38.Ctrl+F339.Ctrl+F440.Ctrl+Backspace41.Ctrl+鼠标转轮42.Ctrl+O+U43.Ctrl+K+O44.Ctrl+K+N45.Ctrl+Shift+G46.Ctrl+Shift+T47.Ctrl+Shift+Y48.CTRL+SHIFT+C49.CTRL+SHIFT+E50.Ctrl+Tab51.CTRL+SHIFT+U52.CTRL+SHIFT+I53.CTRL+SHIFT+↑54.CTRL+SHIFT+↓部(同上55.Tab入属性名的开头(弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句代同Enter键。
同Enter键,但光标位置保持不变删除光标右边的一个单词删除光标所在行复制粘贴剪切还原(Undo保存查找继续查找替换定位到单元文件弹出CallStack窗口等于File菜单中的Close项后退删除一个词,直到遇到一个分割符加速滚屏切换选择块的大小写(注意松开O后再按U,Ctrl保持按下切换选择块为小写(注意松开K后再按O,Ctrl保持按下切换选择块为大写(注意松开K后再按N,Ctrl保持按下插入GUID在光标行加入To-Do注释删除光标之后至本行末尾之间的文本编写申明或者补上函数,绝好!
!
!
显示EXPLORER在Inspector中切换Properties页和Events页代码整块左移2个空格位置代码整块右移2个空格位置在过程、函数、事件内部,可跳跃到相应的过程、函数、事件的定义(在interface和implementation之间来回切换)在过程、函数、事件的定义处,可跳跃到具体过程、函数、事件内在objectinspector窗口按tab键将光标移动到属性名区,然后键字母可快速定位到该属性56.Ctrl+Alt按着Ctrl+Alt之后,可用鼠标选择一个矩形块中的代码,并可比它进行复制,粘贴57.Shift+↓、↑、→、←以1像素单位更改所选控件大小58.Ctrl+↓、↑、→、←以1像素单位更改所选控件位置59.Ctrl+E快速选择(呵呵,试试吧,很好玩的)---------GExperts中---------
60.Ctrl+Alt+c注释块61.Ctrl+Alt+u取消注释块62.Ctrl+Alt+h生成头(更详细的设置在GExperts配置的EditorExperts属性页63.Ctrl+Alt+o选择对应分隔符之间的语句64.Ctrl+Alt+v在对应的分隔符之间来回跳转(与已有快捷键有冲突,请更改---------GExperts中--------Ctrl+Alt+[leftarrow]在Gexpert里快速选定begin与其对应end之间所有代码的方法。
Alt+F11在出现的窗口中选择一个unit将在当前unit的implementation部分自动uses你刚才选择的unit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi7 开发 调试 技巧 快捷键