文章标签 ‘Debug’

[转载].Net 开发者必备的11款开发利器_IT新闻_博客园. 现如今,技术发展十分迅猛,开发者只有通过不断的学习才能跟得上步伐。而为了便于学习和工作,涌现了很多优秀的开发工具用以帮助开发者提高工作 效率。同时,这些工具大都开源而且免费,性能也十分优异。以下就是为 .NET 开发者准备的 11 款开发利器,希望它们能让你的网站开发之路变得简单易行。 1、Webmatrix WebMatrix 是微软最新的 Web 开发工具,它包含了构建网站所需要的一切元素。你可以从开源 Web 项目或者内置的 Web 模板开始,也可以直接从无到有编写代码。简单并且完全是免费的。开发网站从来没有如此简单。   2、Visual Studio 2010 Express Visual Studio 2010 Express 是一套免费、入门级的产品。它的用户界面十分精简,同时拥有 Visual Studio 的核心功能,常用于为某一平台开发应用。   3、Notepad ++  Notepad++ 是一款 Windows 环境下免费开源的代码编辑器,支持多种编程语言,不仅有语法高亮度显示,也有语法折叠等功能。   4、JustDecompile JustDecompile 是一款新的、免费的 .NET 反编译软件。Telerik 公司根据多年的代码分析经验开发了这一反编译利器。它能让你毫不费力地分析编译好的 .NET 程序,同时只需点击一下按钮就可以进行反编译。   5、Fiddler Fiddler 是一款 Web 调试代理软件。它能够记录所有客户端和服务器间的 HTTP 请求,允许你监视、设置断点、甚至修改输入输出数据。Fiddler 包含了一个强大的基于事件脚本的子系统,并且能够使用 .NET 框架语言扩展。   6、FileZilla FileZilla [...]

2012年4月25日16:20 评论关闭

[转载]代码的坏味道 – david++ – 博客园. 代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。 1. 重复的代码 如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 同一个class内的两个函数中含有重复的代码段 两个兄弟class的成员函数中含有重复的代码段 两个毫不相关的class内出现重复的代码段 注意:重复的代码是多数潜在BUG的温床! 2. 过长的函数 拥有短函数的对象会活的比较好、比较长。 程序愈长就愈难理解 函数过长阅读起来也不方便 小函数的价值:解释能力、共享能力、选择能力 原则:每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立的函数中。记着,起个好名字! 3.  过大类 如果想利用单一类做太多事情,其内往往就会出现太多的成员变量。 提取完成同一任务的相关变量到一个新的类 干太多事情的类,可以考虑把责任委托给其他类 注意:一个类如果拥有太多的代码,也是代码重复、混乱、死亡的绝佳滋生地点。 4.  过长的参数列表 太长的参数列表难以理解,太多参数会造成前后不一致、不易使用,而且你需要更多数据时,就不得不修改它。 原则:参数不超过3个! 5. 发散式变化 我们希望软件能够更容易被修改。一旦需要修改,我们希望能够跳到系统的某一点,只在该处做修改。如果不能做到这点,你就嗅出“坏味道:发散式变化”或“坏味道:霰弹式修改”。 发散式变化:一个类受多种变化的影响 数据库新加一个字段,同时修改三个函数:Load、Insert、Update 新加一个角色二进制,同时修改四处 … 原则:针对某一外界变化的所有相应修改,都只应该发生在单一类中 6. 霰弹式修改 如果每遇到某种变化,你都必须在许多不同的类内做出许多小修改以响应之。如果需要修改的代码散布四处,你不但难以找到它们,也很容易忘记某个重要的修改。 霰弹式修改:一种变化引起多个类相应的修改 7. 依恋情节 函数对某个类的兴趣高过对自己所处类的兴趣,就会产生对这个类的依恋情节,造成紧耦合。 原则:判断哪个类拥有最多被此函数使用的数据,然后将这个函数和那些数据摆在一起。 原则:将总是变化的东西放在一块。 8. 数据泥团 有些数据项,喜欢成群结队地待在一块。那就把它们绑起来放在一个新的类里面。这样就可以: 缩短参数列表 简化函数调用 9. 基本型别偏执 代码中有很多基本数据类型的数据。 原则:如果看到一些基本类型数据,尝试定义一种新的数据类型,符合它当前所代表的对象类型。 10. switch惊悚现身 面向对象程序的一个最明显特征就是:少用switch语句。从本质上说,switch语句的问题在于重复。 原则:看到switch你就应该考虑使用多态来替换它。 11. 冗赘类 你所创建的每一个类,都得有人去理解它、维护它,但一个类没有存在的必要时候,就让这个类庄严扑义吧! 原则:如果一个类的所得不值其身价,它就应该消失。 [...]

2012年4月24日10:03 评论关闭

[转载]6步确保 windbg 成功调试 .net – 孤剑 – 博客园. 原文地址:http://blogs.msdn.com/b/dougste/archive/2011/10/31/tips-for-successful-net-debugging-with-windbg.aspx 1、windbg 的版本一致。    分析时、dump内存时的 windbg 版本一致,且保证是完整的内存文件。使用 .dump /ma c:\dump.dmp 执行 2、检查 CLR的版本要一致。    检查 mscorwks.dll (#2.0) 或 clr.dll (#4.0) 版本正确。使用 lm vm mscorwks 或 lm vm clr 检查,看输出内容中是否有 # M C 之类的,存在则表示文件不匹配 3、加载了正确的扩展命令。    检查加载的扩展是否为: psscor2.dll (#2.0)      psscor4.dll (#4.0) 。使用命令 !threads 检查扩展是否正常工作。    psscor2 下载地址: http://www.microsoft.com/download/en/details.aspx?id=1073 [...]

2012年4月6日09:33 评论关闭

[转载]软件汉化,自己做! – 韦敏宗 – 博客园. 第一篇:大话软件汉化 “汉化”,港台地区叫“中文化”,它源自英文“Localize” 或“Localization”,意即“本地化”。简单地说,将一个外文版(绝大部分是英文版)软件改写成中文版,就叫做“软件汉化”。说得“专业”一 点,它是指通过一系列本地化的技术处理,对软件的某一部分(主要针对界面语言)进行某种程度的加工,使其操作界面(如菜单、对话框、提示、帮助等)变成中 文(程序内核和功能保持不变),从而满足特定市场上的用户对语言和功能的特殊要求。它涉及语言文字的翻译及相应的用户界面布局调整、本地特性开发、联机文 档的制作,以及保证程序的本地化版本能正常工作的软件质量保证活动等方面。 目前在浩瀚的软件海洋中,英文软件数量绝对居冠,而真正发布中文版的软件几乎寥若晨星。作为一个中国人,每天面对那来自另一个国度的洋文,无论您的外语水 平有多高,总不如自己的母语来得亲切吧!因此,软件汉化的意义不言自明。这里要说明一下软件汉化牵涉的版权问题。任何软件程序的版权归原创作者所有,汉化 的目的应该是用于学习、研究和方便自己使用,或对软件作无商业意图的推广。如果您要用于任何商业目的,肯定会带来法律纠纷。看看软件《许可协议》中的条款 “该计算机程序受版权法和国际条约保护。如未经授权而……将受到严厉的刑事及民事制裁,并将在法律许可范围内受到最大可能的起诉。”呵呵,严重吧。不过, 只要在版权的约束之下,是没有任何问题的。相反,软件汉化可以促进我国计算机用户对国外优秀软件的了解和认识,既提高了我们的工作效率,又对全世界的优秀 软件进行了免费推广,应该大力提倡才是! 怎么样?跃跃欲试了吧!在“砍柴”之前,当然先要好好磨磨刀啦——我们该有哪些准备工作呢?笔者认为,首先,必须对我们的本地语言有着深厚的感情(废话, 这还要说!),最好有较好的文字基础和一定的英文水平(呵呵,英文不要好过头呵,否则的话就不会需要汉化啦!);其次,熟悉电脑操作,但并不需要高深的编 程基础(利用编程手段对软件进行过度的反编译,反而会有侵权之嫌)。多看看网上汉化前辈们写的心得文章,留心研究一下同行们的汉化作品,最主要的是自己行 动起来,选定一两个软件目标,实实在在地开始自己的汉化之旅。闲话少说,跟我来,动手吧! 第二篇:软件汉化基础 一、软件资源结构 就象外科大夫首先要了解人体结构一样,在进行实际汉化工作之前,我们首先要弄清楚一个软件程序的基本结构。为了解剖结构的需要,首先让我们来熟悉一下第一把“手术刀”——eXeScope。 eXeScope 目前最新版为 v6.32,有汉化版本。 eXeScope具备界面语言即时修改、对话框手动调整、资源导入导出(图标、位图、字串、菜单项等)、宏定义等等的强大功能,堪称当前资源修改的首席工 具。目前市场上的软件主要用VC、BC及VB、Delphi等工具编写,从汉化的角度出发,按照资源数据的分布特点,大致可分为“资源分离型”及“资源混 杂型”(注:此分类纯属个人观点,仅为方便讨论汉化),下面我们简单介绍一下这两种类型的资源特征: 1、“资源分离型”软件。以C类语言VC++、BC++等编译,其资源(Resource)一般包含“位图(Bitmap)”、“菜单(Menu)”、 “对话框(Dialog)”、“字串(String)”以及小部分“RC数据(RCData)”等,而且几类资源间相对独立。一般地,其界面表现的语言资 源大部分包含在主执行文件“*.exe”或链接库文件“*.dll”的“菜单”、“对话框”和“字串”三部分中,汉化时,我们只要将其中可修改的其他语种 翻译修改成中文即可。这一类型软件的汉化技术目前已比较成熟,其修改过程一般能实现“所见即所得”。其代表软件有 Winamp、ACDSee、WinZip等。 2、“资源混杂型”软件。多以Delphi编译,通常将窗体、菜单包括界面语言等可修改的资源未作分离而全部混杂在主执行文件“*.exe”或链接库文件 “*.dll”的“RC数据(RCData)”项中,这样就对程序的本地化工作带来了极大的不便,汉化难度相对较大。目前,此类软件的本地化技术还不够成 熟(当然,也不是完全没办法),尚未能实现“所见即所得”的工作环境。 另外还有相当部分的软件(包括以VB编译的程序),其资源数据形态的信息分配相对无序,或将部分资源转移附加在其它数据文件中,甚至一些程序还进行了加壳 或压缩处理,使我们用一般工具很难看到资源所在,为以修改资源为手段的本地化工作带来了种种困难,这些软件程序一般要根据其个别特点进行特别的技术处理, 或采用十分繁杂的方式,才能进行资源修改工作,我们在这里暂且不作深入讨论。 就常规的软件程序说来,软件的资源(界面语言等)部分与内核部分相对独立。为了最大程度地保持软件原貌,同时也是为了尊重软件原作者的劳动和程序版权,我们在汉化过程中不应(也不必要)对软件的内核作修改。 二、常见汉化手段 1、即时界面汉化。如果您根本不想亲自操刀修改程序,仅只是为了能够使用到中文界面的软件,那么其实您并不需要了解本文所介绍的一些知识。您可以用如下两 种方式获得英文软件的中文界面:第一种方式是采用“东方快车”、“金山快译”等即时翻译软件将英文界面转换成中文界面。这种方式不会对软件作任何修改,而 且可以随时转换回原来的英文界面。当然,由于智能翻译的准确性限制,其翻译的效果只能说差强人意,有时甚至出现啼笑皆非的译文,如一般会将“Auto” (软件程序中一般为“自动”之意)翻译成“汽车”等等。其使用简单,也不是本文的目的,在这里就不展开说明;第二种方式是安装现成的汉化包进行汉化。您只 要到汉化或软件网站以及杂志光盘中找到汉化人士早已为您准备的与外文软件所对应的汉化包即可。汉化包的使用方法很简单,它一般是一个可执行文件。在安装了 软件的英文(或其它语种)版后,先确认在系统中完全退出该应用程序,然后执行汉化文件,完成后再启动应用程序时,出现的就是亲切的中文界面了。不过某些汉 化包在安装过程中有一些特殊的要求,您只要阅读一下汉化包附带的说明文本,并按照其提示操作即可。 2、资源永久汉化。这是本文要着重介绍的内容,也就是广大汉化人士所说的“汉化”了。对软件程序的界面语言作适度修改后,就可使软件程序成为永久的“中文版”软件。其一般步骤如下: 第一步、判断类型。先了解将要进行工作的对象,做到有的放矢,心中有数。方法:首先用eXeScope打开看看就略知一二。详细地,我们可以利用 FileInfo 等软件更准确地判断软件的类型。FileInfo的使用相当简单,就笔者经验,用拖曳方式最为快捷。先在Windows中启动MS-DOS方式,然后将 FileInfo的主执行文件拖到MS-DOS界面,键入空格,再将要检测的文件也拖到MS-DOS界面,回车即OK!FileInfo [...]

2012年4月5日10:03 评论关闭

[转载]调试程序一些小技巧 – –中庸– – 博客园. 一、监视窗口 1、配置应用程序,使应用程序处于调试状态(设置断点的状态)。 2、点击“调试”—-“窗口”—-“监视”—-“监视1”,打开监视窗口。 3、在监视窗口中“名称”栏中输入变量名称或html元素id,可查看变量的当前值和数据类型或html元素的属性、方法、事件等。如下图: 4、亦可选中变量,将其拖到“名称”栏,即可查看变量的当前值和数据类型。如下图: 二、即时窗口 1、配置应用程序,使应用程序处于调试状态。 2、点击“调试”—-“窗口”—-“即时”,打开即时窗口。 3、在即时窗口中输入变量名或html元素对应的属性,即可查看变量的当前值或html元素的属性、方法的值。

2012年1月14日09:50 评论关闭
备案信息:冀ICP备10007948号