Electronic Joint Business

Solution for E-Business

sdk

Windows 调试教程 (一) 用 CDB 和 NTSD 开始调试

对于软件开发和维护来说,调试是最有价值的技能之一。它贯穿于产品整个生命周期中的每个阶段。从创建项目伊始开发人员就会遇到 bug,bug 可能是逻辑错误、语法错误又或者是编译器错误,bug 随处可见。在软件质量验收阶段也可能会遇到 bug ,因为这时引入了更多高级测试场景,还需要和其他环境进行交互。最后,产品发布后还需获得技术支持。即使用户拿到软件后,调试还要继续,因为用户一旦遇到 bug 就会上报给公司,这时还是要再次进行调试。

本教程的目的是什么?
本教程只是对调试做一些简单介绍,可以归类为”初级教程”,如果大家的反映还不错,我会续写更多的章节。

对于调试这个话题来说,实在有太多复杂技术,所以很难知道要从哪里开始着手。我会试着从基础讲起,带着你熟悉调试。希望这样能将初、中级程序员带到高级调试的世界中。所谓 “高级”调试,是指调试时基本上无需重编译,也无需用对话框或 printf 语句来输出调试信息。

调试器与操作系统
微软随着每版 Windows SDK 都提供了最新的调试器,目前最新版本是 Windows 8.1 SDK ,你可以从微软站点上下载。

CDB, NTSD 和 Windbg
本文适用于 Windows 2000 以上的操作系统。我们将谈论三种调试器: CDB、 NTSD 和 WinDbg。一旦安装完 SDK 之后,这三个调试器也就随之安装。

>>> 阅读全文

 

, , , , ,

基于Azure开发和发布PHP应用

云计算是当今IT世界的头等大事。云计算(Cloud Computing)是网格计算、分布式计算、并行计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。提供资源的网络被称为“云”。

“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。

简单的说云计算简化了企业 IT 的基础架构且给企业提供了更大的可配置性和灵活性。在原有模式下如果构建一个小型的应用,你需要租用服务器、需要考虑租用服务器的安全和稳定因素等。如果构建一个中大型的应用,我们需要花巨资购买硬件来集群,然后花巨额资金购买所需的系统软件并且聘用一些人员来维护系统。

现在云平台能提供我们程序所需的硬件设备和软件设备,用户所要做的只是根据自己的需要租用这些已有的资源,上传应用程序并修改配置文件,就可以灵活扩展或收缩所占用的资源,以达到合理利用资源的目的,同时也减少了维护这些软硬件的成本。

在这篇文章中,我们将关注云平台之一 — 微软的 Windows Azure,并演示如何在此平台上部署 PHP 应用,虽然我们不打算深入去了解云技术的方方面面,但是我会尽量提供相关的信息和资源,为你今后的学习打下基础。

>>> 阅读全文

 

, , , , , , , , ,

用Visual Studio 2008开发IE浏览器帮助对象 之一

这篇文章是应同学们的要求写的,以前都是用 VC++ 6.0 和 Platform SDK 完成的. 迁移到 VS2008之后,原来 Visual Studio 6.0里的 BHO 向导不复存在,因此特此不厌其烦,详细说明,本文也适用于 VS2005.

BHO 简介和开发工具
首先谈 BHO 的开发工具,我偏向使用 VC++(unmanaged C++) 作为开发工具,因为 Java JVM 或 .Net CLR 的虚拟机是个很笨重的东西,也是内存杀手, 并不具备写 plugin 的快捷轻巧的特点.个人并不喜欢将其作为 Plug-in 的开发平台,不过我会有另文说明用 C# 开发 BHO 的全过程, 作为那些偏重开发效率的同学的参考.
其次是类库的选择,我倾向利用“活动模板库”(ATL) 来开发使用 C++ 的 BHO。之所以使用 ATL,是因为它方便地实现了我们可以按需进行扩展的基本样板。尽管使用“Microsoft 基础类”(MFC) 或 Win32 API 和 COM)也可以创建BHO,但 ATL 是为我们提供了自动处理许多细节的轻型库,包括建立含有 BHO 类标识符 (CLSID) 的注册表。

ATL 的另一个优势在于它的 COM 智能感知指针类(例如,CComPtr 和 CComBSTR),这些类可管理 COM 对象的生命周期。例如,CComPtr 在赋值时会调用 AddRef,而在对象被销毁或超出范围时会调用 Release。智能指针简化了代码并且有助于避免内存泄漏。当在单个方法范围内使用时,它们的稳定性和可靠性尤为有用。

介绍完ATL, 我们也简单介绍一下 BHO. BHO 是将自定义功能添加到 Internet Explorer 的轻型 DLL 扩展,除了 IE, BHO 还可以将功能添加到 Windows 资源管理器外壳程序.

 BHO 通常并不提供其自身的任何用户界面 (UI)。它们而是通过在后台响应浏览器事件和用户输入数据来发挥作用。例如,BHO 可以拦截弹出窗口、自动填充窗体或为鼠标手势添加支持。

>>> 阅读全文

 

, , , , ,