使用WinDbg调试互斥体死锁

本文通过一个实例来讲解如何使用WinDbg来调试Windows Mutex死锁的问题。

软件调试

C++ 匿名对象

在WebRTC的源码中有如下函数: 1234template <typename T>std::unique_ptr<T> WrapUnique(T* ptr) { return std::unique_ptr<T>(ptr);}

C++语言

一个MySQL存储过程模板

在进行数据库开发时,我们可能需要写很多存储过程,本文提供一个存储过程的模板,通过该模板可以简化存储过程的开发。

数据库

Windows套接字I/O模型(5)-完成端口模型

一、写在前面前面的文章已经介绍了套接字 I/O 的同步模型、WSAAsyncSelect模型、WSAEventSelect模型,到目前为止套接字I/O还剩下2个模型没有介绍:重叠模型,完成端口模型。 如果程序对性能和并发要求不高...

网络编程

由字符串格式化函数引起的崩溃

本文记录一个由错误使用StringCchVPrintf等格式化函数所导致的崩溃问题。

软件调试

Windows套接字I/O模型(4)-WSAEventSelect模型

一、WSAEventSelect模型介绍WSAEventSelect模型和WSAAsyncSelect模型类似,但WSAEventSelect模型允许应用程序在一个或多个套接字上面接收以事件为基础的网络事件通知。该模型和WSAAsyncSelect模型的最主要的区别在于网络事件是由事件对象句柄完成的,而不是通过窗口消息完成的。

网络编程

Windows套接字I/O模型(3)-WSAAsyncSelect模型

一、WSAAsyncSelect模型介绍利用WSAAsyncSelect模型结合windows窗口消息循环,应用程序可以在一个套接字上接收以Windows消息为基础的网络事件通知。要想使用WSAAsyncSelect模型,首先必须创建一个Windows窗口,并为该窗口提供一个窗口过程支持函数。

网络编程

Windows套接字I/O模型(2)-Select模型

一、Select模型介绍套接字Select模型的中心思想是利用select函数实现对I/O的管理。利用select函数来判断套接字(一个或多个)上是否存在数据,或者能否向套接字写入数据。它也是同步的,也会阻塞。但和阻塞模型不同的是,Select模型可以同时管理多个Socket。

网络编程
11920212223