登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

中吴南顾惟一笑

成功法则就是那19个字

 
 
 

日志

 
 

SNav & SI & Code Reading  

2009-11-19 16:33:47|  分类: R&D |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
SNav的代码窗口有6个标签页,它们分别是
'Edit''Hierarchy''Class''Xref''Retriever''Grep'

其中,'Edit'区是代码显示和修改的区域,是工作的主要区域;'Hierarchy'和'Class'是C++代码的组织工具;'Xref'是最强大的一个工具,它会把一个函数中的所有用到的变量,调用的函数,用到的结构全记录并展现出来;'Retriever'也是一个非常有用的工具,用于把一个库代码包中的所有定义的符号列出来,并记录相应的属性;'Grep'用于查找某一个符号,可指定搜索的范围,既可全局查找也可部分文件查找。

阅读代码时常用到的一些键值组合:
Ctrl+leftarrow | rightarrow | uparrow | downarrow 以词的形式移动光标
Ctrl+Alt+leftarrow | rightarrow | uparrow | downarrow 以词的形式移动光标并选择走过的区域
Ctrl+Shift+D 查看选定符号的声明
Ctrl+Shift+I 查看选定符号的定义

SI的列操作功能比较弱,但不等于没有。先按下Alt键,接着就可用鼠标进行列选择,然后就可以删除指定的列。

# Edit Condition
很多代码当其中有大量的预编译定义。在阅读这样的代码时最痛苦的是不能简单判断程序实际执行的代码分枝。大量分枝同时存在,常常会混淆,如果确定我们当前分析的是某种条件,那么可以选择上下文件菜单的【Edit Condition】选项,在弹出的Conditional Parsing窗口中把预编译宏的值设置为True,那么#ifdef ...就等价于#if 1了,相当注释掉了#else分枝的代码。反之,设置为False时,则注释掉#ifdef ...分枝的代码。

用Source Insight追踪流程,用SourceNavigator查看类层次结构

看代码先以走通一个最精简的流程为主,再是模块之间的组织、调用关系或是信息交互,对整体框架有一定的认识,忽略细节。
然后最好用debug的方式,把测试的数据验证一遍,那么你会对实现细节将有较为深刻的认识

  评论这张
 
阅读(176)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018