- 博客(25)
- 收藏
- 关注
原创 ADO使用问题
BUG: "Could Not Update; Currently Locked" Error Message Raised by Second Edit Attempt in a TransactionWhen you try to execute a SQL statement that changes a record of a table that was edited ear
2015-10-26 15:37:35
797
原创 当出现UnhandledExceptionFilter时,如何用windbg 定位正确堆栈
某些情况下,当程序崩溃时异常没有被程序捕获,就会出现ntdll!KiUserExceptionDispatcher这种情况,这时就需要通过其他方式获取产生异常时的正确堆栈下面为KiUserExceptionDispatcher 函数和一些相关函数写的伪代码。这个函数在NTDLL.DLL中,它是异常处理执行的起点KiUserExceptionDispatcher( PEXCEPT
2015-07-16 11:59:33
4671
转载 Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2)
Bruce SchneierCounterpane Systemsschneier@schneier.com MudgeL0pht Heavy Industriesmudge@l0pht.comCQRE '99, Springer-Verlag, 1999, pp. 192-203.ABSTRACT: The Point-to-Point Tunneling Pro
2014-12-09 16:52:08
1135
原创 802.1x参考
IEEE官网上介绍的802.1x文档http://standards.ieee.org/about/get/index.htmlhttp://standards.ieee.org/getieee802/download/802.1X-2010.pdfhttp://standards.ieee.org/getieee802/download/802.1X-2001.pdfRF
2014-12-09 16:07:46
1237
转载 sprintf_s与_snprintf与_snprintf_s
MSDN页面分别如下:spirntf_s:http://msdn.microsoft.com/zh-cn/library/ce3zzk1k%28VS.80%29.aspx_snprintf:http://msdn.microsoft.com/zh-cn/library/2ts7cx93%28v=VS.90%29.aspx_snprintf_s:http://msdn.mic
2014-05-06 10:42:19
868
转载 C++ STL迭代器
目录(?)[-]一迭代器作用二 迭代器的重要特性迭代器是一种智能指针不同的容器都有专属的迭代器三迭代器的分类四迭代器的使用实例一、迭代器作用 在设计模式中有一种模式叫迭代器模式,简单来说就是提供一种方法,在不需要暴露某个容器的内部表现形式情况下,使之能依次访问该容器中的各个元素,这种设计思维在STL中得到了广泛的应用,是STL的关键所在,通过迭代器,容器
2014-03-05 16:04:00
1217
转载 C++中extern “C”含义深层探索
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不
2014-03-05 10:42:35
670
原创 MMSeg中文分词算法
MMSeg算法说明首先来理解一下chunk,它是MMSeg分词算法中一个关键的概念。Chunk中包含依据上下文分出的一组词和相关的属性,包括长度 (Length)、平均长度(Average Length)、标准差的平方(Variance)和自由语素度(Degree Of Morphemic Freedom)。下面列出了这4个属性:属性含义长度(Len
2014-03-03 15:47:19
1942
转载 Windows Socket编程的select模型
在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户端都需要去开辟一个新的线程,效率必定底下。 其实,socket编程提供了很多的模型来处理
2014-02-19 17:26:15
1021
转载 UML用例图总结
用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下: 1. 参与者(Actor) 表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。 2. 用
2013-12-17 10:39:06
915
1
转载 ADO数据库编程
ADO数据库编程 - 总结一、数据库操作准备// ---------------------------------------------------------------------------------------------------------------------------------1、导入ADO动态链接库 在工程的stda
2013-12-17 10:24:34
810
原创 内存溢出问题
这次务器内存溢出导致崩溃的问题是解决了,可后来仔细想想,其实是有些运气成份的,因为是偶然有个dump可以看到有个模块溢出的内存,继而具体分析相关模块的多个dump才得出结论的。这几天,有个问题一直困扰着这我:以后要是再遇到这类问题,我是不是又得投入大量时间精力寻找崩溃点,这不仅会花费自己大量时间精力,也会给公司造成很多损失,为此今天我再重新查阅我当时接收到的服务器崩溃的dump。存溢出的造成问
2013-08-20 17:24:34
1216
原创 UDP套接字调用recvfrom返回WSAECONNRESET(10054)
相关调试信息:2013-06-14 14:25:49,832 (3320)[INFO ][CNetworkMgr] [CCommandServer::ProcessPackage] ProcessPackage from addr:10.201.1.1972013-06-14 14:25:49,832 (3320)[DEBUG][CNetworkMgr] [CCommandServer::
2013-06-14 16:39:42
5461
原创 RegQueryValueEx返回ERROR_MORE_DATA
MSDN解释LONG RegQueryValueEx( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);the buffer specified by lpData parameter is n
2013-06-13 18:32:18
3544
1
转载 Endian的由来
一、引子 在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。本文简要描述这两种存
2013-05-31 20:49:07
677
转载 进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含
2013-05-30 11:44:32
565
原创 tcp滑动窗口协议——《TCP/IP详解,卷1:协议》
TCP协议在工作时,如果发送端的TCP协议软件每传输一个数据分组后,必须等待接收端的确认才能够发送下一个分组,由于网络传输的时延,将有大量时间被用于等待确认,导致传输效率低下。为此TCP在进行数据传输时使用了滑动窗口机制。该协议允许发送方在停止并等待确认前可以连续发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。 先看一个tcp传输流程来观察滑动窗口协
2013-04-21 15:23:08
1329
原创 openssl中libeay32!RAND_poll引发的死锁
现象如下: cc图标是灰的,但任务管理器和服务中都可以看到escc还在。 右键启动服务,无任何反应。 重启control 后,再右键启动服务,无效。 任务管理器结束掉escc进程后,才可以正常启动服务。cc图标也正常。 0:000> !locks CritSec ntdll!LdrpLoaderLock+0 at 774d20c0 WaiterWoken No Lo
2013-04-15 18:03:05
3138
原创 在套间之间传递原始未列集的接口指针引起的死锁
60 Id: 15fc.2124 Suspend: 1 Teb: 7ef06000 UnfrozenChildEBP RetAddr Args to Child 1140e4bc 770b8dcd 00000880 00000000 00000000 ntdll!ZwWaitForSingleObject+0x15 1140e520 770b8d98 00000000 000000
2013-04-11 11:46:03
1102
原创 windbg定位死锁
EPOSBUG-65366694v27替换过escc,escccontrol(刘源给的11.8的文件),出现2台主机启动之后一直离线,且无法停止ccEPOSBUG-65156694V27,非网络准入用户认证后CC不能取策略。 上述两个bug都是CC和control不能正常通信的问题,但由于测试部同事未能及时dump下cc,也没有保护好环境,造成我们开发后期不能定位修复此类bug。因此这
2012-12-29 10:51:13
15336
2
转载 原码、反码和补码
关于补码,看过一些书籍和网文,基本都是在“求反加一”的方法、步骤上反复强调,而对于补码的本质和定义,讨论的不足。这就对初学者的造成了误导,使得很多人都纠结在-128的补码求取过程中。关于反码和原码,大家都是在郑重其事的讲解,其实,学过的人都知道,它们的重要性是 0 !做而论道把自己对于补码的认识写在下面,但愿对读者有些帮助。加法器计算机里面,只有加法器,没有减法器,所有的减法运算,
2011-12-15 14:53:47
655
转载 VC调试篇
难怪很多前辈说调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。 我以前接触的程序大多是有比较成形的思路和方法,调试起来出的问题都比较小,最近这个是我自己慢慢摸索调试,接触了很多新的调试方法,并查了很多前辈的总结,受益匪浅,总结以前的和新的收获如下:VC调试篇设置为了调试一个程序,首先必须使程
2011-12-12 16:46:48
639
转载 数字签名原理剖析
本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。对称加密何谓加密?加密是一种“把数据搞乱掉”的技术。加密技术涉及到4种东东
2011-11-04 17:50:48
1006
转载 依赖倒置原则
本文译自Robert C. Martin于1996年发表的文章,将分为三部分贴在这里。原文可参看http://www.objectmentor.com/resources/articles/dip.pdf。这是我给《C++报导》“工程笔记”专栏的第三篇文章。这个专栏的文章专注于C++和OOD的使用,及软件工程方面的问题。我将努力写一些编程方面的,对处在战壕中的软件工程师直接有用的文章。这些文章
2011-10-22 14:11:57
3897
转载 论c++中的单例模式
单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有
2011-10-17 10:37:06
569
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人