??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区男女羞羞无遮挡,电影亚洲一区,欧美精品久久久久ahttp://www.aygfsteel.com/balajinima/category/26952.htmlzh-cnTue, 30 Oct 2007 15:39:40 GMTTue, 30 Oct 2007 15:39:40 GMT60Eclipse快捷键指?/title><link>http://www.aygfsteel.com/balajinima/articles/146912.html</link><dc:creator>李云?/dc:creator><author>李云?/author><pubDate>Thu, 20 Sep 2007 12:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/balajinima/articles/146912.html</guid><wfw:comment>http://www.aygfsteel.com/balajinima/comments/146912.html</wfw:comment><comments>http://www.aygfsteel.com/balajinima/articles/146912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/balajinima/comments/commentRss/146912.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/balajinima/services/trackbacks/146912.html</trackback:ping><description><![CDATA[ <p>Eclipse快捷键指?/p> <p>~辑<br />作用?功能 快捷?<br />全局 查找q替?Ctrl+F <br />文本~辑?查找上一?Ctrl+Shift+K <br />文本~辑?查找下一?Ctrl+K <br />全局 撤销 Ctrl+Z <br />全局 复制 Ctrl+C <br />全局 恢复上一个选择 Alt+Shift+?<br />全局 剪切 Ctrl+X <br />全局 快速修?Ctrl1+1 <br />全局 内容辅助 Alt+/ <br />全局 全部选中 Ctrl+A <br />全局 删除 Delete <br />全局 上下文信?Alt+Q?br />Alt+Shift+?<br />Ctrl+Shift+Space <br />Java~辑?昄工具提示描述 F2 <br />Java~辑?选择装元素 Alt+Shift+?<br />Java~辑?选择上一个元?Alt+Shift+?<br />Java~辑?选择下一个元?Alt+Shift+?<br />文本~辑?增量查找 Ctrl+J <br />文本~辑?增量逆向查找 Ctrl+Shift+J <br />全局 _脓 Ctrl+V <br />全局 重做 Ctrl+Y </p> <p> <br />查看<br />作用?功能 快捷?<br />全局 攑֤ Ctrl+= <br />全局 ~小 Ctrl+- </p> <p> <br />H口<br />作用?功能 快捷?<br />全局 Ȁzȝ辑器 F12 <br />全局 切换~辑?Ctrl+Shift+W <br />全局 上一个编辑器 Ctrl+Shift+F6 <br />全局 上一个视?Ctrl+Shift+F7 <br />全局 上一个透视?Ctrl+Shift+F8 <br />全局 下一个编辑器 Ctrl+F6 <br />全局 下一个视?Ctrl+F7 <br />全局 下一个透视?Ctrl+F8 <br />文本~辑?昄标尺上下文菜?Ctrl+W <br />全局 昄视图菜单 Ctrl+F10 <br />全局 昄pȝ菜单 Alt+- </p> <p> <br />D<br />作用?功能 快捷?<br />Java~辑?打开l构 Ctrl+F3 <br />全局 打开cd Ctrl+Shift+T <br />全局 打开cd层次l构 F4 <br />全局 打开声明 F3 <br />全局 打开外部javadoc Shift+F2 <br />全局 打开资源 Ctrl+Shift+R <br />全局 后退历史记录 Alt+?<br />全局 前进历史记录 Alt+?<br />全局 上一?Ctrl+, <br />全局 下一?Ctrl+. <br />Java~辑?昄大纲 Ctrl+O <br />全局 在层ơ结构中打开cd Ctrl+Shift+H <br />全局 转至匚w的括?Ctrl+Shift+P <br />全局 转至上一个编辑位|?Ctrl+Q <br />Java~辑?转至上一个成?Ctrl+Shift+?<br />Java~辑?转至下一个成?Ctrl+Shift+?<br />文本~辑?转至?Ctrl+L </p> <p> <br />搜烦<br />作用?功能 快捷?<br />全局 出现在文件中 Ctrl+Shift+U <br />全局 打开搜烦对话?Ctrl+H <br />全局 工作Z的声?Ctrl+G <br />全局 工作Z的引?Ctrl+Shift+G </p> <p> <br />文本~辑<br />作用?功能 快捷?<br />文本~辑?改写切换 Insert <br />文本~辑?上滚?Ctrl+?<br />文本~辑?下滚?Ctrl+?</p> <p> <br />文g<br />作用?功能 快捷?<br />全局 保存 Ctrl+X <br />Ctrl+S <br />全局 打印 Ctrl+P <br />全局 关闭 Ctrl+F4 <br />全局 全部保存 Ctrl+Shift+S <br />全局 全部关闭 Ctrl+Shift+F4 <br />全局 属?Alt+Enter <br />全局 新徏 Ctrl+N </p> <p> <br />目<br />作用?功能 快捷?<br />全局 全部构徏 Ctrl+B </p> <p> <br />源代?br />作用?功能 快捷?<br />Java~辑?格式?Ctrl+Shift+F <br />Java~辑?取消注释 Ctrl+\ <br />Java~辑?注释 Ctrl+/ <br />Java~辑?d导入 Ctrl+Shift+M <br />Java~辑?l织导入 Ctrl+Shift+O <br />Java~辑?使用try/catch块来包围 未设|,太常用了Q所以在q里列出,自己讄?br />也可以用Ctrl+1自动修正?</p> <p> <br />q行<br />作用?功能 快捷?<br />全局 单步q回 F7 <br />全局 单步跌 F6 <br />全局 单步跛_ F5 <br />全局 单步跛_选择 Ctrl+F5 <br />全局 调试上次启动 F11 <br />全局 l箋 F8 <br />全局 使用qo器单步执?Shift+F5 <br />全局 d/去除断点 Ctrl+Shift+B <br />全局 昄 Ctrl+D <br />全局 q行上次启动 Ctrl+F11 <br />全局 q行臌 Ctrl+R <br />全局 执行 Ctrl+U </p> <p> <br />重构<br />作用?功能 快捷?<br />全局 撤销重构 Alt+Shift+Z <br />全局 抽取Ҏ Alt+Shift+M <br />全局 抽取局部变?Alt+Shift+L <br />全局 内联 Alt+Shift+I <br />全局 Ud Alt+Shift+V <br />全局 重命?Alt+Shift+R <br />全局 重做 Alt+Shift+Y <br /> <br /></p> <img src ="http://www.aygfsteel.com/balajinima/aggbug/146912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/balajinima/" target="_blank">李云?/a> 2007-09-20 20:20 <a href="http://www.aygfsteel.com/balajinima/articles/146912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用 Eclipse q_q行调试http://www.aygfsteel.com/balajinima/articles/138062.html李云?/dc:creator>李云?/author>Mon, 20 Aug 2007 02:37:00 GMThttp://www.aygfsteel.com/balajinima/articles/138062.htmlhttp://www.aygfsteel.com/balajinima/comments/138062.htmlhttp://www.aygfsteel.com/balajinima/articles/138062.html#Feedback0http://www.aygfsteel.com/balajinima/comments/commentRss/138062.htmlhttp://www.aygfsteel.com/balajinima/services/trackbacks/138062.html

使用 Eclipse q_q行调试

使用 Eclipse 调试软g目

U别Q?中

Chris Aniszczyk (mailto:zx@us.ibm.com?subject=使用 Eclipse q_q行调试), 软g工程? IBM
Pawel Leszek (mailto:pawel.leszek@ipgate.pl?subject=使用 Eclipse q_q行调试), 独立软gN, Freelance

2007 q?5 ?31 ?/p>

通过本文了解如何使用 Eclipse q_的内|功能来调试软g目。调试是~程人员必须面对的工作。调试的Ҏ有很多种Q但是归根结底,是扑և?bug 的代码。例如,Linux] 应用E序中最常见的一个错误就是段错误Qsegmentation faultQ。在E序试图讉K没有分配l它的内存时Q会因ؓD越界而终止,q时发生了q个错误。ؓ了修复这c错误,需要找到触发错误的那行代码。找到出现问题的代码以后Q了解发生错误的上下文、相兛_{变量和Ҏ也很有用。用调试器扑ևq些信息非常单?/blockquote>

~者注QPawel Leszek 最初于 2003 q?5 月撰写了下文Q后来由 Chris Aniszczyk ?2007 q?4 月进行了更新?

Eclipse 调试器和 Debug 视图

Eclipse SDK 是针?Java?开发工PJava?Development ToolsQJDTQ的目Q它h一个内|的 Java 调试器,可以提供所有标准的调试功能Q包括分步执行、设|断点和倹{检查变量和倹{挂起和恢复U程的功能。除此之外,q可以调试远E机器上q行的应用程序。Eclipse q_很健壮,因ؓ其他~程语言可以该q_提供的调试工L于各自的语言q行时。正如下文所C,同一?Eclipse Debug 视图也可以用?C/C++ ~程语言?/p>

Eclipse q_工作台及其工h围绕 JDT lg构徏的,该组件ؓ Eclipse 提供了下列特性:

  • 目理工具
  • 透视囑֒视图
  • 构造器、编辑器、搜索和构徏功能
  • 调试?

Eclipse 调试器本w是 Eclipse 内的一个标准插仉。Eclipse q有一个特D的 Debug 视图Q用于在工作C理E序的调试或q行。它可以昄每个调试目标中挂LE的堆栈框架。程序中的每个线E都昄为树中的一个节点,Debug 视图昄了每个运行目标的q程。如果某个线E处于挂L态,其堆栈框架显CZؓ子元素?/p>

在?Eclipse 调试器之前,假定您已l安装了合适的 Java SDK/JREQ我推荐使用 Java VM V1.4Q和 Eclipse Platform SDK V3.3Q而且两者的q行都没问题。一般来_先用 Eclipse CZ试一下调试选项比较好。如果想开发和调试 C/C++ 目Q还需要获得ƈ安装 C/C++ 开发工PC/C++ Development ToolsQCDTQ。关?Java SDK/JRE、Eclipse q_和示例以?CDTQ请参阅 参考资?/a>??1 昄?Debug 透视囄一般视图?/p>
?1. Eclipse Debug 透视囄一般视?/a>
Eclipse Debug 透视囄一般视? src=

调试 Java 语言E序

在可以调试项目前Q需要干净地编译和q行代码。首先,需要ؓ应用E序创徏一个运行配|,保应用E序可以正确启动。然后,需要通过 Run > Debug 菜单以类似的方式讄调试配置。还需要选择一个类Q将它作试的?Java cL使用Q请参见?2Q。您可以按照自己的意愿ؓ单个目讄多个调试配置。当调试器启动时Q从 Run > DebugQ,会在一个新的窗口中打开Q这时就可以开始调试了?/p>
?2. 在调试配|中讄目的主 Java c?/a>
在调试配|中讄目的主 Java c? src=

接下来,讨?Eclipse 中的一些常用调试实c?/p>

讄断点

在启动应用程序进行调试时QEclipse 会自动切换到 Debug 透视图。毫无疑问,最常见的调试步骤是讄断点Q这样可以检查条件语句或循环内的变量和倹{要?Java 透视囄 Package Explorer 视图中设|断点,双击选择的源代码文gQ在一个编辑器中打开它。遍历代码,鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击卛_讄断点?/p>
?3. ~辑器左侧看到的两个断点
~辑器左侧看到的两个断点

现在Q从 Run > Debug 菜单启动调试会话。最好不要将多条语句攑֜一行上Q因Z无法单步执行Q也不能为同一行上的多条语句设|行断点?/p>
?4. 视图中左侧空白处的箭头指C当前正在执行的?/a>
视图中左侧空白处的箭头指C当前正在执行的? src=

q有一个方便的断点视图来管理所有的断点?/p>
?5. 断点视图
断点视图

条g断点

一旦了解到错误发生的位|,您可能想要知道在E序崩溃之前Q程序在做什么。一U方法就是单步执行程序的每行语句。一ơ执行一行,直到q行到可疑的那行代码。有Ӟ最好只q行一D代码,在可疑代码处停止q行Q在q个位置查数据。还可以声明条g断点Q它在表辑ּ值发生变化时触发Q请参见?6Q。除此之外,在输入条件表辑ּӞ也可以用代码帮助?/p>
?6. 讄条g断点触发?/a>
讄条g断点触发? src=

计算表达式的?/a>

Z?Debug 透视囄~辑器中计算表达式的|选择讄了断点的那行代码Q在上下文菜单中Q通过 Ctrl+Shift+I 或右键单L感兴的变量Q参见图 7Q选择 Inspect 选项。在当前堆栈框架的上下文中会计算表达式的|?Display H口?Expressions 视图中会昄l果?/p>
?7. 通过 Inspect 选项计算表达式的?/a>
通过 Inspect 选项计算表达式的? src=

剪切zd代码

Display 视图允许您以剪切cd的方式处理活动代码(参见?8Q。要处理一个变量,?Display 视图中输入变量名卛_Q视图会提示您一个熟悉的内容助手?/p>
?8. Display 视图
The Display view

当调试器停止在一个断点处Ӟ您可以从 Debug 视图工具栏(参见?9Q中选择 Step Over 选项Ql调试器会话。该操作会越q高亮显C的那行代码Ql执行同一Ҏ中的下一行代码(或者l执行调用当前方法的那个Ҏ的下一行代码)。执行上一步后发生改变的变量会用某U颜色高亮显C(默认是黄Ԍ。颜色可以在调试首选项面中改变?/p>
?9. 改变颜色的变?/a>
改变颜色的变? src=

要在 Debug 视图中挂h行线E,选择一个运行线E,单击 Debug 视图工具栏中?Suspend。该U程的当前调用堆栈就会显C出来,当前执行的代码行׃?Debug 透视图中的编辑器中高亮显C。挂起一个线E时Q将鼠标攑֜ Java ~辑器中的变量上Q该变量的值就会在一个小的悬停窗口中昄出来。此Ӟ该线E的剙堆栈框架也会自动选中Q其中的可视变量也会?Variables 视图中显C出来。您可以通过单击 Variables 视图中合适的变量名来查变量?/p>

热交换错误修正:动态代码修?/a>

如果q行的是 Java 虚拟机(Java Virtual MachineQJVMQV1.4 或更高的版本QEclipse 支持一个叫做热交换错误修正QHotswap Bug FixingQ的功能QJVM V1.3 或更低的版本不支持该功能。该功能允许在调试器会话中改变源代码Q这比退出应用程序、更改代码、重新编译、然后启动另一个调试会话更好。要利用该功能,在编辑器中更改代码后重新调试卛_。由?JVM V1.4 ?Java q_调试器架构(Java Platform Debugger ArchitectureQJPDAQ兼容,所以才有可能具备该功能。JPDA 实现了在q行的应用程序中替换l过修改的代码的功能。如果应用程序启动时间较长或执行到程序失败的地方旉很长Q那么这一点特别有用?/p>

如果在完成调试时Q程序还没有全部执行一遍,?Debug 视图的上下文菜单中选择 Terminate 选项。容易犯的一个错误是在调试器会话中?Debug ?RunQ而不?Resume。这样做会启动另一个调试器会话Q而不是l当前会话?/p>



q程调试

Eclipse 调试器提供了一个有的选项Q可以调试远E应用程序。它可以q接C个运?Java 应用E序的远E?VMQ将自己q接到该应用E序上去。用远E调试会话与使用本地调试会话大致相同。但是,q程调试配置需要在 Run > Debug H口中配|一些不同的讄。需要在左侧视图中先选择 Remote Java Application 选项Q然后单?New。这样就创徏了一个新的远E启动配|,会显C出三个选项卡:Connect、Source ?Common?/p>

?Connect 选项卡的 Project 字段Q选择在启动搜索源代码时要引用的项目。在 Connect 选项卡的 Host 字段Q输入运?Java E序的远E主机的 IP 地址或域名。在 Connect 选项卡的 Port 字段Q输入远E?VM 接收q接的端口。通常Q该端口在启动远E?VM 时指定。如果想让调试器军_在远E会话中 Terminate 命o是否可用Q可以选择 Allow termination of remote VM 选项。如果希望可以终止连接的 VMQ则选择该选项。现在,在您选择 Debug 选项Ӟ调试器会试q接到指定地址或端口的q程 VMQ结果会?Debug 视图中显C出来?/p>

如果启动E序不能q接到指定地址?VMQ会出现一条错误信息。通常来说Q是否可以用远E调试功能完全取决于q程L上运行的 Java VM。图 10 昄了一个远E调试会话的q接属性设|?/p>
?10. 讄一个远E调试会话的q接属?/a>
讄一个远E调试会话的q接属? src=





调试其他语言

管 Java 语言?Eclipse 使用的最q泛的语aQ但?Eclipse 是一个可扩展的^収ͼ可以支持许多其他的语a。Eclipse 可以通过 C/C++ 开发工PCDTQ支?C/C++ 。CDT 扩展了标准的 Eclipse Debug 视图Q添加了调试 C/C++ 代码的功能,CDT Debug 视图可以在工作台中管?C/C++ 目的调试过E。CDT 中没有内部的调试器,但是它提供了一?GNU GDB 调试器的前端Q该调试器必d本地可用。还有其他项目可以提供各自的调试器,例如 PHP 开发工PPHP Development Tools QPDTQ,请参见图 11?


?11. PHP 调试?/a>
PHP debugger





l束?/a>

Eclipse q_提供了一个内|?Java 语言调试器,它带有标准的调试功能Q包括分步执行、设|断点和倹{检查变量和g及挂起和恢复U程功能。它q可以用来调试运行在q程机器上的应用E序。Eclipse q_主要是一?Java 开发环境,但是其中?Eclipse Debug 视图q可以用?C/C++、PHP 和许多其他的~程语言?/p>



致谢

感谢 Tyler Anderson l制了图 11?/p>



]]>
վ֩ģ壺 ¤| | | ˮ| ɽ| | ʯ| | ӻ| Ϳ| | Ҷ| | | | | | | ̫| | Т| | | | | | | | | | | | ɫ| | ˶| Զ| ӳ| ɳ| ʲ| ˮ| |