cadence 调试解析.docx_第1页
cadence 调试解析.docx_第2页
cadence 调试解析.docx_第3页
cadence 调试解析.docx_第4页
cadence 调试解析.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

调试代码,先打开skill debugger toolbox ,此时调试进程就自动安装了。安装结束后,运行代码遇到错误时,按下调试键debugger。遇到断点时,也可以进行调试(无论调试进程有没有安装)。当运行程序时遇到了错误,使用dump,stacktrace,where键可以显示skill栈和局部变量。输出会出现在CIW中。设置断点,点击set breakpoints来设置断点形式,键入函数名,点击OK或Apply。然后运行代码。达到断点时,使用Step,Next,Step Out来一步一步的执行代码。退出调试,在SKILL Debugger toolbox击Exit Debug Toplevel。每次点击Exit Debug Toplevel,都会退出最近进行调试的。SKILLDebugger Dump在CIW中列出所有变量中当前在栈中的变量,最大值由右边的Where按钮确定。Stacktrace在CIW中列出栈中的所有函数及它们的参数,深度由右边的Where按钮确定。Where在CIW中列出栈中所有函数和局部变量,深度由右边的Where按钮确定。Step由中断处理程序一步一步的进入函数,步数由右边的Step Out按钮确定。Next不用每一步都进入子函数,但是允许中断处理程序继续执行,直到栈到达了他的现存深度。函数重复的次数由右边的Step Out按钮确定。Step Out允许继续执行直到目前函数的评估返回。函数重复的次数由右边的Step Out按钮确定。Exit Debug Toplevel退出当前的调试toplevelContinue继续执行命令直到遇到断点Tracing开始58页的跟踪模式Set Breakpoints开始107页的设置断点模式Debug Status显示被跟踪的函数,变量,属性,显示那些被设置了断点或正在被计算的函数Clear清除所有的跟踪和断点Automatic Stacktrace(Levels)设置栈中函数的数量,每次发生错误时显示。这很有用,如果SKILL Debugger 没有安装成功或者如果错误在srrset中发生,防止Skill Debugger 被键入。Enter New debug Toplevel on Error每次错误发生时,点击checkbox 来进入调试Terminate Debugging and Quit Debugger卸载调试和关闭调试工具箱SKILL Lint检查代码可能的错误和效率低的XX。这个程序对普通检测不出来的错误非常有用。而且,可以帮助你发现没有定义的变量和没有声明的全局变量。你可以选择编写自己的规则。详见95页的“Writing Skill lint rules”.运行Skill lint ,键入你想分析的文件名字或环境,点击OK或Apply。在默认情况下,当Skill lint 结束运行时会在弹出的窗口中显示输出。Input File如果你指定了input file,你就不需要制定context name。context name如果没有指定文件,Skill lint将会分析在这个目录(your_install_dir/tools/dfII/pvt/etc/contsxt.ContextName)下的文件。你也可以给context一个目录路径。Package Prefixes可接受的函数packable prefixes 和全局变量的列表。Skill Lint 记录了你键入的那些没有前缀的变量,例如tr。详见34页。这帮助你找到你想声明的局部变量,因为前缀不经常用在局部变量上。这也会标记你的程序是不是使用别人程序中的全局变量。Output 决定在哪显示输出Print to CDS Log File 将Skill Lint 的输出结果显示在CDS.log文件中和CIW中。View Output File弹出一个包含Skill Lint output的窗口。如果你打开了Print To CDS Log File 和View Output File ,output文件将会展示出来,在Output 输入到CDS.log文件中以后。如果你正在Viewing the output ,从File Menu中选择Close Window.Output File包含SKILL Lint output 的文件。如果你在这里没有键入一个名字,就会建立一个临时文件而不是永久文件。Errors:显示错误的数量General warings:显示普通警告的数量Top level forms:显示input 文件中表达式的数量IQ score=-25*(number of short list errors)+20*(number of long list errors)/(number of top level forms) (详见35页)Output line 的综合:Message Group Name 经常是缩写的和大写的;(Built_in Message Name)在括号里和大写里;Mseeage描述。Check For打开或关闭SKILL Lint message 的不同分组Errors如果程序正在运行的话,Errors将会使messages产生错误,例如error,error global或fatal error。Warings有潜在错误的地方,你应该删除你的代码Undefined functions列出你运行SKILL Lint时,不被执行的可执行文件Performance在你的代码中,对潜在的问题给予提示或建议Custom允许你根据更高的粒度来定制错误。通常,你不需要使用这个选项。当你选择Custom时,SKILL Lint form 可通过Customize Messages To Check For按钮来刷新屏幕,在底部可选择另一种形式。当你选择Customize Messages To Check For时,Customize Messages形式将会出现。以当前标注的Check For部分的形式出现。如果选择好了,点击OK或Apply,成功设置后会显示你最后设置的结果。Customize Messages FormMseeage Groups 参阅不同种类的报告信息。如果此Mseeage Group被禁用了,那将不会报告这组中的信息了。你可以独自的打开或关闭参阅SKILL Lint messages 的Messages 。要选择的话,点击列表工具箱中的任何项。移动启用和禁用的列表之间的Messages,使用arrow 按钮。Message GroupsMessage Group的名字在Customized Message Form中以粗体显示。,message group 的优先级显示在输出报告的第一行。Priority Message Group NameERROR 被认为是错误的信息ERR GLOB 列表中同时被用作全局变量和局部变量的变量EXT GLOB 外部的全局变量Fatal Error 防止SKILL Lint 继续运行并分析的信息组HINT 提示你如何使代码更有效的信息组INFO 所有一般消息Internal Error 有关故障报告机制的信息组NEXT RELEASE 标记在下来的版本中可能不会运行的代码的信息组PACK GLOB 开头为包前缀的全局变量的列表SUGGEST 显示可以提高你的代码表现的可能的方法UNUSED VAR 没有被引用的局部变量的列表WARN 潜在错误WARN GLOB 没有以包前缀开头的全局变量的列表MessagesBuit-in Message 的名字出现在输出报告行的括号中。Message Group名字出现输出报告行的首部。只有SKILL代码的信息列在下表中。Checking the Number of Function ArgumentsSKILL Lint 检查通过函数的参数个数。这需要使用先前知道的函数定义,或者从先前运行的SKILL Lint中或以前的程序。当程序在使用时是未知的,SKILL Lint会延迟检查参数数量直到找定了程序的定义。如果程序以文件形式使用而在它被定义为这个文件之前并且程序的参数数量发生了变化,这时再次运行SKILL Lint来获得正确结果是有必要的,因为第一次运行时使用了之前的程序。Checking Function and Global Variable Prefixes在代码中使用的函数和全局变量被期望在前面加上一个合适的字符串。可以在SKILL Lint 表中键入这些字符串。默认情况下,完整地检查只是应用于用户定义的全局变量,然而函数和Cadence的前缀通过规范的检查,详见36页。函数和全局变量的命名规则是:函数和全局变量的命名规则是一样的;Cadence官方SKILL函数和全局变量必须以小写字母开始,三个字母和全小写是首选;用户SKILL 函数和全局变量必须以大写字母开头;函数或全局变量必须以前缀开始,或者前缀加上一个小写字母(I,v,c,b,e,f,m),后面立即跟上一个大写字母或者“”。Value Returnedt SKILL Lint 成功nil SKILL Lint失败。有错误或者警告信息SKILL Profiler告诉你程序在哪里最耗时和话费最多内存。计算每个函数花费的时间;显示分配给每个函数的内存;测试性能而不改变函数的定义;显示执行所有函数条用的树图和在这些函数中花费的时间和内存;允许过滤函数,这样你就可以只看那些你感兴趣的函数。Using the SKILL Profiler 1. 点击Start按钮;2. 执行你想要测试的函数;3. 点击Stop按钮。FileSearchCode BrowserCode Browser显示调用用户定义的函数中的树。显示由父函数调用的子函数的树。你可以依次展开你个数或一个节点;你也可以看任何用户定义的函数的函数定义。Function to Expand你想看调用结构的函数。输入函数的名字并点击OK或Apply,代码浏览窗口便会出现。要看函数的菜单,将指针指向一个函数名并按住鼠标中间的键。出现的菜单对所有函数都是一样的。Find Function1. 输入名字并点击OK或Apply:代码浏览调用图搜索第一个函数实例。如果找到了,这个函数在代码浏览窗口中会被高亮标记并左对齐。2. 如果再次对同一个函数点击OK或Apply,将会搜索下一个函数实例。Delete All删除代码浏览中的所有函数。Defaults显示代码浏览器的默认形式,可以让你选择是否浏览源代码的函数调用树或异形的函数调用树。Source functions在他们源代码的定义基础上扩展函数的调用树Profiled functions扩大调用树的功能,并显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论